【C#】文字列に日本語が含まれているかを簡単に判別する

Unityで文字列の中に日本語が含まれているかを調べたい状況になり、いろいろ調べたので記事にします。

実際に使用したのはUnityですが、C#であれば問題なく使えると思います。

ソースコード

文字列の中に1文字以上の ひらがなorカタカナor漢字 が含まれるかを判別。


using System.Text.RegularExpressions;
private bool IsJapanese(string text)
{
var isJapanese = Regex.IsMatch(text, @"[\p{IsHiragana}\p{IsKatakana}\p{IsCJKUnifiedIdeographs}]+");
return isJapanese;
}

Regex.IsMatch() を使って正規表現で判別しています。

\p{IsHiragana}、\p{IsKatakana}、\p{IsCJKUnifiedIdeographs}
はそれぞれひらがな、カタカナ、漢字の判別をしており、
そのどれかが1文字以上含まれるかを判別しています。

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です