我有一个List<string>
,其中包含一些非字母字符的元素。例如,我可能#232353;
根本不包含任何字母,或者我可能有SomeText,SomeOtherText
,该元素包含逗号,也不是字母。如何使用linq删除这些元素?像这样:
MyList = MyList.Where(...)
感谢。
答案 0 :(得分:9)
您可以使用Char.IsLetter
检查字符串中的所有字符是否为字母:
MyList = MyList.Where(s => s.All(Char.IsLetter)).ToList();
答案 1 :(得分:4)
由于这是List<string>
,您可以使用RemoveAll
方法删除与特定谓词匹配的所有值
MyList.RemoveAll(s => s.Any(c => !Char.IsLetter(c)));