7

入力文字列に文字が含まれているかどうかを検出したいArabic
たぶん、次のようなコード:

string str = "سS";
str[0].IsArabicCharacter(); //true
str[1].IsArabicCharacter(); //false

現在マッピングを使用していますが、C# の組み込み機能に移行したいと考えています。

ArabicChars = "ساینبتسیکبدثصکبثحصخبدوزطئظضچج";
string str = "ل";
if(ArabicChars.Contains(str[0]) return true; else return false;
4

3 に答える 3

14

あなたが得ようとしている最高のものは、さまざまな RegEx Unicode ブロック文字クラスになるでしょう:\p{name}

Regex.IsMatch(str[0], @"\p{IsThai}");
Regex.IsMatch(str[1], @"\p{IsArabic}");

MSDN リファレンス ページ:

于 2013-04-10T06:27:46.377 に答える
2

文字の Unicode 値を取得し、それがどのチャートに属しているかを確認します。

http://www.unicode.org/charts/

于 2013-04-10T06:26:55.707 に答える
2

Unicode のBlocks.txtファイルを見て、どの範囲をアラビア語またはペルシア語 (U+0600..06FF から始めても明らかです) として含めるかを決定し、数値比較を行います。

于 2013-04-10T06:30:09.527 に答える