java replaceAll()

时间:2009-07-07 13:42:15

标签: java string

用{0}替换“N / A”的replaceAll()函数的正则表达式是什么?

输入:N/A
输出:0

3 个答案:

答案 0 :(得分:14)

假设s是String

s.replaceAll("N/A", "0");

你甚至不需要正则表达式。这就足够了:

s.replace("N/A", "0");

答案 1 :(得分:8)

为什么要使用正则表达式?如果您不需要模式,只需使用replace

String output = input.replace("N/A", "0");

答案 2 :(得分:0)

您可以尝试更快的代码。如果字符串仅包含N / A:

return str.equals("N/A") ? "0" : str;

如果字符串包含多个N / A:

return join(string.split("N/A"), "0")
            + (string.endsWith("N/A") ? "0" : "");

其中 join()是方法:

private String join(String[] split, String string) {
    StringBuffer s = new StringBuffer();
    boolean isNotFirst = false;
    for (String str : split) {
        if (isNotFirst) {
            s.append(string);
        } else {
            isNotFirst = true;
        }
        s.append(str);
    }
    return s.toString();
}

它快两倍