如何使用.NETfunction构建检测输入字符串字符语言?
我想检测我的输入字符串是否包含Arabic
字符。
也许有些代码如下:
string str = "سS"; str[0].IsArabicCharacter(); //true str[1].IsArabicCharacter(); //false
目前正在使用映射,但我想迁移到一些C#内置function。
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值并检查它属于哪个图表:
查看unicode Blocks.txt文件并确定要包含哪些范围为阿拉伯语或波斯语(U + 0600..06FF是一个明显的开始)并进行数字比较。