将字符串集合连接成一个带有分隔符和括起来字符的字符串

本文关键字:字符串 分隔符 起来 字符 连接 集合 一个 | 更新日期: 2023-09-27 18:32:44

我有一个源字符串的集合,我希望将它们连接成一个目标字符串。

源集合如下所示:

{ "a", "b", "c" }

我希望输出字符串为:

abc

但有时,我也想要一个分隔符。因此,对于相同的输入,现在输出为:

a-b-c

最后,输入有时需要用其他字符括起来,在本例中为 [] ,导致输出为:

[a]-[b]-[c]

空源集合应生成空字符串。我该怎么做?

将字符串集合连接成一个带有分隔符和括起来字符的字符串

您可以使用静态String.Join()方法执行此操作。

它的基本用法是这样的:

string[] sourceData = new[] { "a", "b", "c" };
string separator = "";
var result = string.Join(separator, sourceData);

当您提供一个空的分隔符时,传递的值将简单地连接到以下内容:"abc" .

要使用特定字符串分隔源数据,请提供所需的值作为第一个参数:

string[] sourceData = new[] { "a", "b", "c" };
string separator = "-";
var result = string.Join(separator, sourceData);

现在,字符串"-"将插入源数据中的每个项目之间:"a-b-c"

最后,若要将源集合中的每个项括起来或修改,可以使用 Linq 的 Select() 方法使用投影:

string[] sourceData = new[] { "a", "b", "c" };
string separator = "-";
result = String.Join(separator, sourceData.Select(s => "[" + s + "]"));

与其"[" + s + "]"不如使用String.Format()来提高可读性和易于修改:String.Format("[{0}]", s)

无论哪种方式,这也返回所需的结果:"[a]-[b]-[c]"