替换字符串中的$符号

时间:2019-04-26 05:37:16

标签: java string

  

如何替换字符串中所有的“ $$$”?

我尝试过

story.replaceAll("$$$","\n")

这将显示警告:将$锚定在意外位置,并且代码无法正常工作。该代码将“ $”符号用作正则表达式的锚点。我只需要替换该符号即可。

有什么办法吗?

4 个答案:

答案 0 :(得分:2)

“ $”是正则表达式的特殊字符。

尝试以下操作:

    System.out.println(story.replaceAll("\\$\\$\\$", "\n"));

在上面的代码中,我们用“ \”转义了“ $”字符。

答案 1 :(得分:2)

有几种方法可以执行此操作。这取决于您要做什么以及您的解决方案有多优雅:

String replacement = "\n"; // The replacement string

// The first way: 
story.replaceAll("[$]{3}", replacement);

// Second way:
story.replaceAll("\\${3}", replacement);

// Third way:
story.replaceAll("\\$\\$\\$", replacement);

答案 2 :(得分:1)

您可以使用反斜杠转义任何特殊字符(正则表达式)。由于Java文字也将反斜杠用作转义字符,因此您需要对反斜杠本身进行转义。

story.replaceAll("\\${3}", something);

您说,通过使用{3}后面的$,它应该被精确地发现3次。看起来比"\\$\\$\\$"更优雅。 因此,something是您的替代者,例如""\n,具体取决于您想要的内容。

答案 3 :(得分:0)

这肯定可以。.

story.replaceAll("\\$\\$\\$","\n")

您可以对任何特殊字符执行此操作。