我想检测我的输入字符串中是否有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;
你将得到的最好的将是各种RegEx unicode块字符类:p{name}
Regex.IsMatch(str[0], @"p{IsThai}");
Regex.IsMatch(str[1], @"p{IsArabic}");
MSDN参考页面:
- Unicode分类或Unicode块
- 支持的命名Unicode块列表
获取一个字符的Unicode值并检查它属于哪个图表:
http://www.unicode.org/charts/查看unicode Blocks.txt文件,并决定要将哪个范围包含为阿拉伯语或波斯语(U+0600..)。并进行数值比较。