C#获取所有字符串列表项

时间:2016-06-18 09:19:54

标签: c#

我有一个包含项目的字符串列表 -

Titanic, Leonardo Decaprio  
Mission Impossible, Tom Cruise  

有没有办法可以在逗号之前只获得第一个子字符串?在上述情况下,List<string>的预期输出应为 -

Titanic
Mission Impossible

2 个答案:

答案 0 :(得分:5)

您可以使用Split方法,然后使用Select方法获取第一部分。

list.Select(x=> x.Split(',')[0]);

您可以使用SubstringIndexOf代替Split

list.Select(x => x.Substring(0, x.IndexOf(',')));

如果你不确定每个字符串都包含逗号,你可以检查它,例如这样

list.Select(x => x.Substring(0, x.IndexOf(',') > 0 ? x.IndexOf(',') : x.Length))

答案 1 :(得分:1)

您还需要调用.ToList()方法,否则它不会将结果列表转换为List<string>throw exception,因为结果列表的类型为System.Collections.Generic.IEnumerable<string>,而您的类型为List<string

List<string> list = new List<string>() { "Titanic, Leonardo Decaprio", " Mission Impossible, Tom Cruise" };
list = list.Select(x => x.Split(',')[0]).ToList();