2

我希望用其他东西替换特定字符串中管道的所有实例。但是,它不仅没有替换指定的字符串,而是替换了所有空格。例子:

String cleanTitle = StringEscapeUtils.escapeHtml("Bacon is | good");
out.println(cleanTitle.replaceAll("|", "*"))

这个例子输出*B*a*c*o*n*i*s*|*g*o*o*d*

我需要它说培根*好

- 我的界面需要函数 escapeHTML,尽管这个例子没有使用它来解决我的问题。

4

2 回答 2

4

您需要在表达式中转义管道,因此请使用:

cleanTitle.replaceAll("\\|", "*")

也可以看看

于 2012-10-03T17:25:52.710 回答
1

进行正String#replaceAll()则表达式匹配和替换。The|是正则表达式中的一个特殊字符,因此需要按照\Jasper 的回答进行转义。但是,您实际上想要一个简单的逐字符搜索和替换。是错误的String#replaceAll()工具。你应该String#replace()改用。

out.println(cleanTitle.replace('|', '*'));
于 2012-10-03T19:39:36.177 回答