我想在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?

10-02 03:37
查看更多