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 Blocks.txt文件并确定要包含哪些范围为阿拉伯语或波斯语(U+0600..06FF 是一个明显的开始)并进行数字比较。

于 2013-04-10T06:30:09.527 回答
2

获取一个字符的 Unicode 值并检查它属于哪个图表:

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

于 2013-04-10T06:26:55.707 回答