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

Move all non-letter characters from one string to array of char

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

P.S。 IsPunctuation 方法不起作用,我需要一些带有 IsLetter 方法的东西。再次感谢

LINQ 是你的朋友。

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

稍作编辑以更符合规范