我想在泰语文本中突出显示一些子字符串:
high = high.Insert(myString.Index + myString.Length + "<b>" + currentLength, "</b>");
问题是,myString
字符串包含一个特殊的泰语字符(&#34;เงินฝาก&#34;)。给定的字符串长度应为7,但长度分辨为6.它仅部分突出显示文本,不包括最后一个字符。
我尝试过对字符串进行编码(包括高字符串和myString
字符串)。但它没有用。你有关于如何处理这个问题的任何提示吗?我也尝试了Replace
方法,但无济于事。
提前致谢!
答案 0 :(得分:-1)
简单的概念是忽略上标和下标泰语字符的计数,如下面的示例代码:
public int ThaiLength(string text)
{
int c = 0;
int l = text.Length;
for (int i = 0; i < l; ++i)
{
if (char.GetUnicodeCategory(text[i]) != System.Globalization.UnicodeCategory.NonSpacingMark)
++c;
}
return c;
}