文字列に正しい文字だけが含まれているかどうかを確認したい。 私はこれにChar.IsLetter
を使用しました。 私の問題は、éやáのような文字があるとき、正しい文字であるとも言われます。char isletterを確認する
áのような特殊文字がない正しい文字A-Zまたはa-zとしてcharをチェックする可能性がありますか?
文字列に正しい文字だけが含まれているかどうかを確認したい。 私はこれにChar.IsLetter
を使用しました。 私の問題は、éやáのような文字があるとき、正しい文字であるとも言われます。char isletterを確認する
áのような特殊文字がない正しい文字A-Zまたはa-zとしてcharをチェックする可能性がありますか?
bool IsEnglishLetter(char c)
{
return (c>='A' && c<='Z') || (c>='a' && c<='z');
}
のための正規表現\w
または[a-zA-Z]
を使用することができます:あなたはChar.IsLetter(c) && c < 128
を使用することができます
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);
。または、それだけでc < 128
、あなたの問題に最も近いと思われる。
しかし、符号化の問題は、文字をフィルタリングすることで解決しています。他のアプリケーションが正確に理解していることを調べてください。
Encoding.GetEncoding(someCodePage)
と書いてください。
c <128ではそれ自体が非文字を返します –
簡単にアクセスするための使用LINQの:
if (yourString.All(char.IsLetter))
{
//just letters are accepted.
}
私は、ファイルをエクスポートし、éなどの特殊な兆候がある場合は、エラーをスローし、別のアプリケーションにインポートする必要が
Eh? OPは、Char.IsLetterが必要なことをしないと明示的に指摘しました。 –
...もちろんEの – Karl
か文字は... – leppie