如何拆分和添加文本?

时间:2012-06-30 01:42:57

标签: c# string

我在C#中有这样的字符串:

string a = "A|B|C|D"

我想在管道字符上拆分此字符串,并在每个条目前添加一些文本。目前,我正在进行这样的拆分:

string[] result = a.Split('|')

但是因为字符串数组的大小是固定的,所以我需要创建一个新数组并使用for循环复制前置结果。是否有Linq方式或单行程来实现这一点而不是写一个for循环?在Python中,我会做一个单行循环:

newresult = ["Prepend string " + x for x in result]

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

var newResult = a.Split('|').Select(x => "Prepend string " + x).ToArray();

答案 1 :(得分:2)

我发现这很容易,如果你想加入它也是如此:

string.Join(" , ", devices.Select(s => "PREFIX = " + s).ToArray());

答案 2 :(得分:0)

不确定为什么需要创建新数组,但首先Linq方法是使用.Select运算符:

stirng[] result = a.Split('|').Select(x => "Prepend string " + x).ToArray();

那就是说,你也可以只是内联编辑数组(即不需要新的数组):

for (var i = 0; i < result.Length; i++) 
    result[i] = "Prepend string " + result[i];