java - 如何在搜索功能中也将上升字母用作字母
问题描述
比如说:
String searchFunction = "Cόstome"
期望:当我输入 ό 时,它仅突出显示 ό 但我也需要在上面的字符串中突出显示字母 o。
我尝试的是,
handleFilterChange(deAccent(filterTerm));
public String deAccent(String str) {
String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(nfdNormalizedString).replaceAll("");
}
但是上面的代码正在将特殊字符替换为字母。即,当我输入 ό 时,它不是突出显示 ό,而是突出显示字母 o。
我的期望要求是,当我输入特殊字符 ό 时,它应该突出显示并考虑特殊字符和字母 o。
如何做到这一点?
解决方案
如果我正确理解您的问题,您希望在搜索模式中同时检测到o
字符和特殊符号。ό
在这里,通过您的特定字符串模式搜索String searchFunction = "Cόstome"
,您只搜索特定字符串。如果您只有 2 种类型的字符串Cόstome
,Costome
那么您可以使用下面的搜索字符串来查找两者。
String searchFunction = "C[όo]stome"
这将搜索固定长度为 1 的字符和特殊符号。
让我知道这是否符合您的目的。
推荐阅读
- javascript - 为客户取消“一周试用”的最佳惯例?
- c# - 悬停圆角按钮使用 ResourceDictionary 更改其背景颜色
- css - 如何避免 Laravel Mix 覆盖 app.css
- c++ - 包括我
,但编译器在 MonitorFromWindow 抛出“未声明” - arrays - 数据行到字符串到数组问题
- objective-c - 我应该向 Frida `ObjC.api.class_addMethod()` 提供什么参数才能让它开心?
- vb.net - 在 VB .net 中,“如果 x = false”或“如果不是 x”更快
- angular - 将scss文件导入角度项目中的其他scss文件?
- typescript - 项目必须列出所有文件或使用“包含”模式
- networking - 一起解析 TCP 数据包