我想檢查一個字符串只包含字母正確。我爲此使用了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