如何将整数数组转换为字符串?

4
我需要将一个 int 数组转换为字符串。以下代码可以实现该功能,但结果中会出现不必要的符号 []
import std.stdio;
import std.conv;

void main()
{
    int [] x = [1,3,4,6];
    string s = to!string(x);
    writeln(s);
}

输出:[1, 3, 4, 6] 我如何在不使用replace的情况下删除括号?


你可以直接切掉它... - Adam D. Ruppe
@AdamD.Ruppe 看起来这个解决方案可能比使用 map 的建议更快。 - sigod
是的,对于每个元素,地图方法会进行单独的分配,而我相信单个“to”调用会一次性完成所有操作。单个调用加上切片肯定是最简单的方法,可能也是最快的...虽然“format”解决方案也应该具有竞争力,并且更加可定制化。 - Adam D. Ruppe
2个回答

4
您可以像以下这样实现它:
import std.stdio;
import std.conv;
import std.algorithm;

void main()
{
    int [] x = [1,3,4,6];
    writeln(x.map!(to!string).joiner(", "));
}

3

您可以使用std.format函数

import std.format;
import std.stdio;

void main()
{
    auto res = format("%(%s, %)", [1,2,3,4,5]);
    writeln(res); // output: 1, 2, 3, 4, 5
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接