在 Java 中將非英語字元轉換為英語字母
非英語字元在處理文字資料時可能會帶來挑戰。為了簡化處理,通常需要將這些字元轉換為其對應的英文字母。鑑於 Unicode 字元數量龐大,這項任務可能非常艱鉅。
問題陳述
挑戰在於識別 Unicode 圖表中的相似字元並將其轉換為字母英文字母。例如,字母“A”存在多種變體,導致分類變得困難。
解決方案
要在 Java 中解決此問題,您可以利用 Normalizer 類別和正規表示式。以下方法簡化了轉換過程:
標準化字串:
刪除變音符號:
替換變音符號:
import java.text.Normalizer; import java.util.regex.Pattern; public class ConvertAccentedCharsToEnglish { 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(""); } public static void main(String[] args) { String accentedString = "tђє Ŧค๓เℓy"; String convertedString = deAccent(accentedString); System.out.println(convertedString); // Output: the Family } }使用matcher.replaceAll("")替換組合變音符號帶有空字串。 此方法主要刪除重音字元中的變音符號(重音符號),有效地將它們轉換為對應的英文字母。 範例以下 Java 程式碼示範了這一點方法:
以上是如何在Java中將非英文字元轉換為英文字母?的詳細內容。更多資訊請關注PHP中文網其他相關文章!