用java中的一个char替换许多单个字符?

时间:2013-01-27 14:07:29

标签: java replace

在PHP中,我可以这样做:

$str = preg_replace("/(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ)/", 'a', $str);

表示在包含à,á,a,ả等字符的字符串中,......将替换为 a

如何在Java中进行等效?

3 个答案:

答案 0 :(得分:10)

您可能希望a much more generic solution使用此问题:

import java.text.Normalizer;
import java.text.Normalizer.Form;

// ...

public static String removeAccents(String text) {
    return text == null ? null
        : Normalizer.normalize(text, Form.NFD)
            .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}

这将删除任何脚本中任何字母的所有变音标记。

答案 1 :(得分:3)

非常相似:

String output = input.replaceAll("[àáạảãâầấậẩẫăằắặẳẵ]","a");

答案 2 :(得分:1)

str.replace("Your character sequence" , "a");