仅保留列表中仅包含字母的元素

时间:2014-01-11 12:23:26

标签: c# linq

我有一个List<string>,其中包含一些非字母字符的元素。例如,我可能#232353;根本不包含任何字母,或者我可能有SomeText,SomeOtherText,该元素包含逗号,也不是字母。如何使用linq删除这些元素?像这样:

MyList = MyList.Where(...)

感谢。

2 个答案:

答案 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)));