我试图删除某些“<”和“>”来自第三方(蠢货)生成的HTML代码
我正在为一些未被我们的ETL人员接收的遗留条件进行替换。
I have this string: "<$200" and I need it to be XML compliant like "<$200"
string.replaceAll("<$200","<$200");
不起作用。我认为它是一些regEx funkyness。这样做的正确方法是什么?
答案 0 :(得分:5)
String#replaceAll
接受 regex 作为参数,而不是String。 $
是special character,不会被称为字符串。解决方案:
改为使用String#replace
- 它接受字符串而不是正则表达式:
string.replace("<$200","<$200");
使用Pattern#quote
- 返回字符串表示形式:
string.replaceAll(Pattern.quote("<$200"),"<$200");
Escape special characters在特殊字符之前添加\\
。
答案 1 :(得分:1)
使用此
String demo ="<$200";
demo = demo.replaceAll("<","<");
System.out.println(demo);