突出显示搜索的文本方案:
例如:如果我有一个单词 RK 并且搜索了"r",我必须突出显示"r"的第一个出现,即 RK。在后台就像
R
K.同样,我必须在மொ中强调ம。因此,我试图在மொ中找到ம的位置并执行突出显示操作。在这里,我在操作后获得文本
மொ,因此显示为 ம ொ
我用于字符串操作和突出显示的代码:
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
返回2。 ToCharArray()
还返回两个字符的数组。这就是为什么IndexOf
总是返回 0。
您对问题的评论:
由于 ம + ொ = மொ,因此 ம 发现始终返回 true。现在在此解决方案之后,ம find 将返回 false,因此我不必突出显示。只有输入 மொ 进行查找,它才完全匹配,我可以突出显示。
我认为问题不在于SubString
.IndexOf
需要战术处理。