如何使用.NET功能构建检测输入字符串字符语言?

时间:2013-04-10 06:18:49

标签: c# .net vb.net

我想检测输入字符串中是否包含Arabic个字符。
也许有些代码是这样的:

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

目前正在使用映射,但我想迁移到一些C#内置功能。<​​/ p>

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

3 个答案:

答案 0 :(得分:13)

您将获得的最好的是各种RegEx unicode块字符类:\p{name}

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

MSDN参考页:

答案 1 :(得分:2)

获取角色的Unicode值并检查它属于哪个图表:

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

答案 2 :(得分:2)

查看unicode Blocks.txt文件并确定要包含哪些范围为阿拉伯语或波斯语(U + 0600..06FF是一个明显的开头)并进行数字比较。