ó ü ê
ドット、コンマ、その他の記号(スペイン語やフランス語の文字など)などの句読点を無視して、2つの文字列を(大文字と小文字を区別せずに)比較したい
いくつかの例:
Hello == Helló
Hello, Sam == Hello sam
geo-code == geocode == geo code
(すべてのオプションをカバーする必要はありません)
最善の解決策(外部ライブラリ、メソッドなど)
すべての特殊文字を削除します。
geo-code
削除からのよう-
になりgeocode
ます。同様に、からスペースを削除しますgeo code
Hello, sam
スペースとカンマを削除するとHellosam
、これらの文字列を比較できます。これがあなたがそれをする方法です。
さて、フランス語のような特殊文字について:これはあなたを助けます。
これが別のスレッドで見つかったコードです。私はそれをテストしていません。
import java.text.Normalizer;
import java.util.regex.Pattern;
public String deAccent(String str) {
String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(nfdNormalizedString).replaceAll("");
}