其他语言 word/string split/manipulation 问题

Other language word/string split/manipulation issue

突出显示文本搜索场景:

Ex:如果我有一个单词 RK 并且搜索了 'r',我必须突出显示 'r' 的第一次出现,即 RK。在后台就像

RK.

同样,我必须在 மொ 中突出显示 ம。因此,我试图在 மொ 中找到 ம 的位置并执行突出显示操作。 在这里,我在操作后得到文本

< b >ம<​​ /b >ொ 因此显示为

我用于字符串操作和突出显示的代码:

formattedString = string.Empty;
searchStringLength = searchString.Length;

formattedString += inputString.Substring(0, find);
formattedString += "<b>" + inputString.Substring(find, searchStringLength) + "</b>";
formattedString += inputString.Substring(find + searchStringLength);

该示例仅适用于泰米尔语单词,有什么建议可以使其适用于英语以外的所有其他语言吗?

我不懂泰米尔语。看你的问题,输入字符串应该是三个字母的字符串。

可能,您将 find 变量设置为

find = inputString.IndexOf("ம");?

代码中的某处。

泰米尔语单词 மொ 未被计为三个字母的单词。 Visual Studio 将其作为单个字母处理,而 மொ.Length returns 2. ToCharArray() 也是 returns 两个字符的数组。这就是为什么 IndexOf 总是返回 0。

您对问题的评论:

since ம + ொ = மொ, the ம find was returning true always. Now after this solution, ம find will return false and hence I don't have to highlight. Only if மொ is entered to find, it matches exactly and I can highlight.

我认为 SubString 没有问题。 IndexOf需要战术性处理。