1

のような特定の変数を持つ文字列があります"This is string containing $variable$"$variable$これを新しい文字列に置き換えたい。replaceall メソッドを使用するstr.replaceall("$variable$","new_value")と、置き換えられません。しかし、$記号なしで与えると、それは置き換えられます。しかし、私の出力は次のようになり$new_value$ます。$シンボルなしで必要です。

4

2 に答える 2

2

String.replace(CharSequence, CharSequence)を使用してみてください:

str.replace("$variable$","new_value");

String.replaceAll ()は最初のパラメーターとして正規表現を想定しており、正規表現の$文字は「文字列の末尾に一致」を表すためです。

于 2013-01-07T12:30:52.927 に答える
2

String.replaceAll() は正規表現をパラメーターとして受け取り、 $ には特別な意味があります。\: でドル記号をエスケープするだけです。

myString.replaceAll("\\$variable\\$", replacement);
于 2013-01-07T12:30:15.520 に答える