我希望用其他东西替换特定字符串中的所有管道实例。但是,它不仅不替换指定的字符串,而是替换所有空格。例如:
String cleanTitle = StringEscapeUtils.escapeHtml("Bacon is | good");
out.println(cleanTitle.replaceAll("|", "*"))
此示例输出 * B * a * c * o * n * i * s * | * g * o * o * d *
我需要它说培根好*
- 我的界面需要函数escapeHTML,尽管这个例子没有将它用于我的问题。
答案 0 :(得分:4)
您需要在表达式中转义管道,因此请使用:
cleanTitle.replaceAll("\\|", "*")
另见
答案 1 :(得分:1)
String#replaceAll()
执行正则表达式匹配和替换。 |
是正则表达式中的特殊字符,因此需要使用\
进行转义,如Jasper所述。但是,您实际上想要一个简单的char-by-char搜索和替换。 String#replaceAll()
是用于此目的的错误工具。您应该使用String#replace()
代替。
out.println(cleanTitle.replace('|', '*'));