1
は、私はこのようなベトナム語のテキストがあります。ベトナム語テキストを通常のテキストに変換するには?
String text = "Xin chào Việt Nam";
をそして私は通常のテキストに変換します。私の期待する結果:
String result = " "Xin chao Viet Nam";
どうすればいいですか?ありがとう。
は、私はこのようなベトナム語のテキストがあります。ベトナム語テキストを通常のテキストに変換するには?
String text = "Xin chào Việt Nam";
をそして私は通常のテキストに変換します。私の期待する結果:
String result = " "Xin chao Viet Nam";
どうすればいいですか?ありがとう。
Normalizerをjava.text.Normalizer
で検索しています。アクセント記号のついたUnicode文字とその分解記号の間にマッピングすることができます。
基本的にすべてのアクセント付き文字をdeAccented対応文字に変換し、その後にそれらの組み合わせ発音記号を変換します。今、正規表現を使って発音区別記号を取り除くことができます。
public static void main(String[] args) {
System.out.println(deAccent("Xin chào Việt Nam"));
}
public static String deAccent(String str) {
String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(nfdNormalizedString).replaceAll("");
}
あなたは文字列「DJI」と歓迎:) – CauCuKien
を愛し、deAccent(「DJI」)結果は「DJI」で与えられました。効果的にテキストを正規化することはできません。 –
が、入力された@CauCuKien私はあなたに@Ahmedガマル – VanThaoNguyen