检查char isletter

Kar*_*arl 10 .net c# char

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

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

zmb*_*mbq 24

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

你可以使这个扩展方法:

static bool IsEnglishLetter(this char c) ...
Run Code Online (Sandbox Code Playgroud)


Hen*_*man 9

你可以用 Char.IsLetter(c) && c < 128.或者就c < 128其本身而言,这似乎与您最接近的问题相符.

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

可能你应该只是写作Encoding.GetEncoding(someCodePage).

  • c &lt; 128 本身将返回非字母 (2认同)

Sly*_*Sly 6

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

  • 我也不确定.既然我们都确定[a-zA-Z]会起作用,那么阅读代码的人也会如此,那就更好了. (2认同)