我想在java中匹配两个字符串。
文字:János
searchExpression:Janos
由于我不想替换所有特殊字符,因此我认为我可以将á
设置为通配符,因此所有与此字符匹配的字符。例如,如果我用János
搜索Jxnos
,它应该找到它。当然,文本中可以有多个特殊字符。有谁知道如何通过任何模式匹配器实现此目标,还是必须逐个字符比较char?
最佳答案
一个可能的解决方案是在Apache Commons StringUtils.stripAccents(input)方法的帮助下去除重音:
String input = StringUtils.stripAccents("János");
System.out.println(input); //Janos
确保还阅读基于
Normalizer
类的更详细的方法:Is there a way to get rid of accents and convert a whole string to regular letters?