1
我有一組數據,其中有重音ascii。我想將口音轉換爲純英文字母。我做到這一點用下面的代碼:使用Java Normalizer將口音ascii轉換爲非口音,但排除一些symboles
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("");
}
但是這個代碼是缺少的是排除人物,我不知道我怎麼可以轉換排除某些字符,例如我要排除的信「 ü「從杜塞爾多夫這個詞,所以當我轉換時,它不會變成杜塞爾多夫的話。有沒有辦法將排除列表傳遞給方法或匹配器,並且不轉換某些重音字符?
我刪除了時髦的標籤,因爲這看起來像一個純Java的問題 –
當然沒問題,但我認爲Java和Groovy代碼是非常相似的,所以Groovy的傢伙可以提供一些解決方案以及。 – AlexCon