我有一个像下面这样的字符串数组,其中包含字符串,后跟分隔符(:)和数字。
"string:1"
"string:1"
"string:2"
"string:3"
"string:5"
"string:777"
...
我想要从最后一个分隔符(:)
获取数字的字符串数组"1"
"1"
"2"
"3"
"5"
"777"
我想知道我是否可以使用一个线路linq 与每个字符串数组进行拆分并通过循环遍历父字符串数组来重建新数组。
答案 0 :(得分:2)
您可以将Enumerable.Select与String.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();
答案 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(":")));
});