我有一个包含项目的字符串列表 -
Titanic, Leonardo Decaprio
Mission Impossible, Tom Cruise
有没有办法可以在逗号之前只获得第一个子字符串?在上述情况下,List<string>
的预期输出应为 -
Titanic
Mission Impossible
答案 0 :(得分:5)
您可以使用Split
方法,然后使用Select
方法获取第一部分。
list.Select(x=> x.Split(',')[0]);
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();