我必须测试一个字符串是否包含在另一个字符串中,但不考虑大小写或重音(在这种情况下为法语重音)。
例如,如果我在字符串true
中搜索"rhone"
,则该函数必须返回"Vallée du Rhône"
。
整理器对于带有重音符号的字符串比较很有用,但不提供contains
函数。
有简单的方法来完成这项工作吗?正则表达式也许吗?
附加信息 :
我只需要一个true
/false
返回值,我不在乎匹配数或测试字符串在引用字符串中的位置。
最佳答案
您可以使用Normalizer将字符串简化为可以直接比较的精简版本。
编辑:要清除
String normalized = Normalizer.normalize(text, Normalizer.Form.NFD);
String ascii = normalized.replaceAll("[^\\p{ASCII}]", "");