多くのアプリケーションでは、アクセント、チルダ、ウムラウトなどの発音区別符号を含むテキストを処理する必要があります。これらのマークは、同じ基本文字の異なる発音を表す可能性があるため、データの処理と検索を複雑にする可能性があります。
発音記号を含むテキストを単純化するための一般的なアプローチの 1 つは、正規化することです。 Unicode の正規化形式 NFD (標準形式分解) を使用します。このプロセスでは、複合文字が基本文字と関連する発音記号に分解されます。
正規化されると、正規表現を使用して発音記号を削除できます。たとえば、次の Java 正規表現は、すべての発音区別記号とその他の修飾文字を照合して削除します。
Pattern diacriticsAndFriendsPattern = Pattern.compile("[\p{InCombiningDiacriticalMarks}\p{IsLm}\p{IsSk}\u0591-\u05C7]+");
このパターンを発音記号の削除に適用するには:
String normalizedString = Normalizer.normalize(inputString, Normalizer.Form.NFD); String strippedString = diacriticsAndFriendsPattern.matcher(normalizedString).replaceAll("");
発音記号に加えて、一部の特殊文字も文字列の処理中に処理する必要がある場合があります。簡素化。これらの文字は発音記号ではない可能性がありますが、それでもテキスト処理に影響を与える可能性があります。たとえば、「<」のような文字(未満)、「>」特定のアプリケーションでは、「$」(より大きい)および「$」(ドル記号)を置換または削除する必要がある場合があります。
次の Java クラスは、発音記号と追加の非発音記号の両方を処理する拡張文字列簡略化メソッドを提供します。 :
public class StringSimplifier { // ... (code snippet for StringSimplifier class) ... }
simplifiedString メソッドは、入力文字列を正規化し、発音記号を削除し、追加の非発音記号を実行します。事前設定されたマッピングに基づいて文字を簡略化します。
発音区別記号の削除は、次のようなさまざまなアプリケーションで役立ちます。
発音記号の削除の原則を理解し、Unicode 正規化や正規表現などのツールを利用することで、開発者はテキストを効果的に単純化し、データ処理と検索を改善できます。
以上がJava のテキストから発音区別符号を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。