16

'*'を含むString変数があります。しかし、それを使用する前に、私はこのすべての文字を置き換える必要があります。

replaceAll関数を試しましたが、成功しませんでした。

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

誰かが私を助けてもらえますか?ありがとう!

4

3 に答える 3

49

パラメータとしてString#replace()aをとらないメソッドを使用しないのはなぜですか:-regex

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 に答える