使用String.ReplaceALL java方法在字符串中替换$

时间:2018-10-25 04:54:16

标签: java regex


嗨,我有一个包含字段$ id的字符串(将XML转换为字符串)因为XML不接受“ symbol,所以我无法解析它。我正在寻找一个用id替换$ id的选项。但是下面的代码没有给我所需的结果:-

OrigString是XML。 ReplaceString包含:-$ id NewString包含:-id

用OrigString中的id替换$ id。

public String StringReplace(String OrigString,String ReplaceString,String NewString) {

    String str2 =   OrigString.replaceAll(ReplaceString, NewString);

    return str2;
}

谢谢

1 个答案:

答案 0 :(得分:0)

$是正则表达式中的特殊符号,因此您需要像这样\\ $进行转义,并在java字符串中确保您也对斜杠进行转义并使它\\ $像这样尝试,

OrigString.replaceAll("\\$id", "id");

或者不使用replaceAll,而是使用replace方法,该方法不会将您的字符串视为正则表达式,因此可以安全地使用它,

String s = "$id hello $id";
System.out.println("Before: " + s);
System.out.println("After: " + s.replace("$id", "id"));

此输出

Before: $id hello $id
After: id hello id