检查char isletter

我想检查字符串是否只包含正确的字母。 我使用了Char.IsLetter 。 我的问题是,当有像é或á这样的字符时,它们也被称为正确的字母,这不应该是。

是否有可能将字符检查为正确的字母AZ或az而没有像á这样的特殊字母?

 bool IsEnglishLetter(char c) { return (c>='A' && c<='Z') || (c>='a' && c<='z'); } 

您可以将其设为扩展方法:

 static bool IsEnglishLetter(this char c) ... 

您可以使用Char.IsLetter(c) && c < 128 。 或者只是c < 128本身,这似乎与你最接近的问题相符。

但是你通过过滤字符来解决编码问题。 请调查其他应用程序完全理解的内容。

可能你应该用Encoding.GetEncoding(someCodePage)编写。

您可以使用正则表达式\w[a-zA-Z]

 // Create the regular expression string pattern = @"^[a-zA-Z]+$"; Regex regex = new Regex(pattern); // Compare a string against the regular expression return regex.IsMatch(stringToTest); 

使用Linq轻松访问:

 if (yourString.All(char.IsLetter)) { //just letters are accepted. }