我有一个包含'*'的String变量。但在使用它之前,我必须更换所有这些角色。
我尝试过replaceAll功能,但没有成功:
text = text.replaceAll("*","");
text = text.replaceAll("*",null);
有人可以帮助我吗?谢谢!
答案 0 :(得分:45)
为什么不使用String#replace()
方法,不使用regex
作为参数: -
text = text.replace("*","");
相反,String#replaceAll()
将正则表达式作为第一个参数,并且由于*
是正则表达式中的元字符,因此您需要将其转义或使用它在一个角色类。所以,你这样做的方式是: -
text = text.replaceAll("[*]",""); // OR
text = text.replaceAll("\\*","");
但是,你真的可以在这里使用简单的替换。
答案 1 :(得分:7)
您只需使用String#replace()
即可text = text.replace("*","");
String.replaceAll(regex, str)将正则表达式作为第一个参数,因为*
是一个元变量,你应该用反斜杠转义它以将其视为普通的字符。
text.replaceAll("\\*", "")
答案 2 :(得分:3)
试试这个。
您需要使用。
转义正则表达式的*
text = text.replaceAll("\\*","");