从另一个分隔的字符串数组中获取字符串数组

时间:2015-06-18 05:08:13

标签: c# arrays string linq

我有一个像下面这样的字符串数组,其中包含字符串,后跟分隔符(:)和数字。

"string:1"
"string:1"
"string:2"
"string:3"
"string:5"
"string:777"
...

我想要从最后一个分隔符(:)

获取数字的字符串数组
"1"
"1"
"2"
"3"
"5"
"777"

我想知道我是否可以使用一个线路linq 与每个字符串数组进行拆分并通过循环遍历父字符串数组来重建新数组。

3 个答案:

答案 0 :(得分:2)

您可以将Enumerable.SelectString.Split

一起使用
string []arr = {"string:1", "string:1", "string:2"};
string [] result = arr.Select(e=>e.Split(':').Last()).ToArray();

要将其转换为int数组,您可以使用Convert.ToInt32

int []result1 = arr.Select(e=>Convert.ToInt32(e.Split(':')[1].Last())).ToArray();

答案 1 :(得分:0)

您可以使用Select删除string:部分;

var list = new List<string>()
{
    "string:1",
    "string:1",
    "string:2",
    "string:3",
    "string:5"
};

var result = list.Select(s => s.Replace("string:", "")).ToArray();

enter image description here

答案 2 :(得分:0)

List<string> s = new List<string>();
s.Add("string:1");
s.Add("string:2");
s.Add("string:4");
s.Add("string:5");
s.ForEach(delegate(String str)
{
   Console.WriteLine( str.Substring(str.LastIndexOf(":")));
});