16

我有一个字符串变量,其中包含“*”。但在使用它之前,我必须替换所有这些字符。

我试过 replaceAll 功能但没有成功:

text = text.replaceAll("*","");
text = text.replaceAll("*",null);

有人可以帮助我吗?谢谢!

4

3 回答 3

49

为什么不只使用String#replace()不带regexas 参数的方法:-

text = text.replace("*","");

相反,String#replaceAll()将正则表达式作为第一个参数,并且因为*是正则表达式中的元字符,所以您需要对其进行转义,或者在字符类中使用它。所以,你这样做的方式是: -

text = text.replaceAll("[*]","");  // OR
text = text.replaceAll("\\*","");

但是,你真的可以在这里使用简单的替换

于 2013-01-29T19:31:19.997 回答
7

你可以简单地使用 String#replace()

text = text.replace("*","");

String.replaceAll(regex, str)将正则表达式作为第一个参数,作为*元字符,您应该使用反斜杠对其进行转义以将其视为普通字符。

text.replaceAll("\\*", "")
于 2013-01-29T19:31:04.303 回答
3

尝试这个。

您需要转义*正则表达式,使用 .

text = text.replaceAll("\\*","");
于 2013-01-29T19:34:55.740 回答