我想检查一个字符串只包含字母正确。我为此使用了Char.IsLetter
。 我的问题是,当有喜欢的字符E或A,他们也说是正确的字母,这不应该。检查是否烧焦isletter
是那里检查一个字符为正确的字母A-Z或A-Z没有特殊的信件像一个可能性?
我想检查一个字符串只包含字母正确。我为此使用了Char.IsLetter
。 我的问题是,当有喜欢的字符E或A,他们也说是正确的字母,这不应该。检查是否烧焦isletter
是那里检查一个字符为正确的字母A-Z或A-Z没有特殊的信件像一个可能性?
bool IsEnglishLetter(char c)
{
return (c>='A' && c<='Z') || (c>='a' && c<='z');
}
可以使这是一个扩展方法:
static bool IsEnglishLetter(this char c) ...
// 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);
您可以使用Char.IsLetter(c) && c < 128
。或者仅仅是c < 128
本身,这似乎与您的问题最接近。
但你是通过过滤字符求解编码问题。请调查其他应用程序完全理解的内容。
这可能是你应该只与Encoding.GetEncoding(someCodePage)
来写。
ç<128本身将返回非字母 – 2018-01-16 17:05:56
使用的LINQ为方便:
if (yourString.All(char.IsLetter))
{
//just letters are accepted.
}
嗯? OP明确指出Char.IsLetter没有做到需要的东西。 – 2016-03-30 08:41:23
我要导出文件,并导入到是否有像电子专用标志会抛出错误另一个应用程序,... – Karl 2012-04-02 11:35:04
当然电子商务或á是字母... – leppie 2012-04-02 11:35:04