将所有非字母字符从一个字符串移动到char数组

时间:2019-05-10 09:17:40

标签: c# string letter

我有一个包含字母和非字母字符的字符串。我想在String.Split()方法中使用非字母字符,以将字符串拆分为由非字母字符划分的单词。我怎样才能做到这一点?我知道,有一个Char.IsLetter()方法,但我认为对字符串的每个字符循环执行此方法是很愚蠢的。我需要将英文字母和撇号(')的所有字符视为字母,所有其他字符都不是字母。谢谢。

P.S。 IsPunctuation方法不起作用,我需要使用IsLetter方法。再次感谢

1 个答案:

答案 0 :(得分:1)

LINQ是您的朋友在这里。

     var testString = "TEST.string;here";
     var nonChars = testString.Where(f => !char.IsLetter(f) && f != '\'').ToArray();

稍作修改以更符合规范