【问题标题】:Categorizing this Thai character using the .NET framework使用 .NET 框架对这个泰语字符进行分类
【发布时间】:2018-09-04 04:28:03
【问题描述】:

我正在尝试根据此处http://www.thai-language.com/ref/spacinghttp://www.thai-language.com/ref/spacing 解释的规则解析一些泰语文本

基本上,我想在空格和标点符号之间找到字符串,类似于我们在英语中所做的那样。我意识到单词本身在泰语中不一定用空格分隔,没关系。

为了解析我尝试简单循环的文本,比如

while( Char.IsLetterOrDigit(theText[i++]) ) {}

查找下一个不是字母或数字的字符。除了像这个这样的某些角色之外,这有效

这是这个单词中的第二个字符(我认为这是单词中第一个字符的“上标”字符)。

这个字符似乎没有被 Char 类归类为任何东西,即:

Char.IsLowSurrogate((char)3657)
Char.IsPunctuation((char)3657)
Char.IsWhiteSpace((char)3657)
Char.IsSymbol((char)3657)
Char.IsSeparator((char)3657)
Char.IsDigit((char)3657)
Char.IsControl((char)3657)
Char.IsLetter((char)3657)
Char.IsSurrogate((char)3657)

全部返回false

这个字符可能是一个“音调”——如何使用 .NET 来识别它?

【问题讨论】:

    标签: c# .net text internationalization thai


    【解决方案1】:

    根据 Unicode 规范,该字符为 mai tho,位于“标记,非空格 (Mn)”组中。

    您可以使用Char.GetUnicodeCategory() 方法来检查类型。对于非间距标记,类型为 5,或 UnicodeCategory.NonSpacingMark

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 1970-01-01
      • 2016-04-15
      • 2022-01-01
      • 2023-03-25
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      相关资源
      最近更新 更多