3 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個贊
有java.text.Normalizer
。Java 以 Unicode 保存文本,并且é
可以寫為一個 Unicode 符號、代碼點(diǎn),或?qū)憺閮蓚€,一個e
和一個零寬度'
。Unicode 規(guī)范化對于字典、文件名來說非常重要。規(guī)范化器可用于分解為字母和重音符號(變音標(biāo)記),并使用正則表達(dá)式刪除replaceAll
所有重音符號。
Character
具有 Unicode 支持,為代碼點(diǎn)提供 Unicode 名稱,將代碼點(diǎn)分類為字母、數(shù)字、多種腳本等。
有Collate
面向區(qū)域設(shè)置的,它為單詞、排序創(chuàng)建特定的鍵,如Comparator
。在一種語言環(huán)境中,順序可能是 AaBbCc?D..,而在另一種語言環(huán)境中,順序可能是 ABC...abc 等。Locale
指定為大寫。例如,在土耳其語中有字母 i-without-dotI?
和 i-with-dot ?i
。
然后是您的用例:減少。例如,有用于聲音相似表示的soundex算法(第三方)。正則表達(dá)式可以刪除插點(diǎn)等String.replaceAll
。

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個贊
除了 String 之外不需要其他庫,String.replaceAll
并且String.toLowerCase
可以滿足您的需求:
String s = "S-cube Abc' Inc."; s = s.replaceAll("[^a-zA-Z]", "").toLowerCase();

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個贊
不需要圖書館。只需使用正則表達(dá)式和String#toLowerCase
:
String s = "S-cube Abc' Inc.";
s = s.replaceAll("[^a-zA-Z]", "");
s = s.toLowerCase();
System.out.println(s);
添加回答
舉報(bào)