ホームページ > Java > &#&チュートリアル > Java でアクセント記号を削除し、記号を英語のアルファベットに変換するにはどうすればよいですか?

Java でアクセント記号を削除し、記号を英語のアルファベットに変換するにはどうすればよいですか?

DDD
リリース: 2024-11-11 03:29:02
オリジナル
718 人が閲覧しました

How Can You Remove Accent Marks and Convert Symbols to the English Alphabet in Java?

Java で記号とアクセント文字を英語のアルファベットに変換する

無数の文字が存在する Unicode の領域では、特定の記号とアクセント文字が非常に似ています。英語のアルファベットの対応者に。テキスト処理を簡素化するために、開発者は多くの場合、これらの文字を使い慣れた 26 文字のアルファベットに変換する方法を模索します。

膨大な数の Unicode 文字と個々の文字内の微妙な違いにより、この変換は重大な課題を引き起こします。たとえば、文字「A」だけでも 20 を超える Unicode 表現があります。これらの文字を正確に分類してマッピングすることは、困難に思えるかもしれません。

アクセントを削除するための Java ソリューション

Java のテキストから発音区別符号 (アクセント) を削除する特定のタスクについては、次のメソッドが効果的であることが証明されています。

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("");
}
ログイン後にコピー

このメソッドは、Normalizer クラスを利用して、Unicode 文字を、基本文字をアクセント記号から分離する NFD として知られる「正規化形式」に変換します。その後、正規表現を使用して、NFD で正規化された文字列から残りの発音区別記号が削除されます。

このアプローチを利用すると、記号やアクセント付き文字を同等の英語のアルファベットに効果的に変換でき、効率的なテキスト処理とよりクリーンなデータ操作。

以上がJava でアクセント記号を削除し、記号を英語のアルファベットに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート