以下が機能しないのはなぜですか。
String test = "hello\"world".replaceAll("\"", "\\\"");
System.out.println(test);
私がやろうとしているのは、出現するものを。に置き換えること"
です\"
。
だから私は出力として取得したい:
hello\"world
正規表現はこれにはやり過ぎです。
myString.replace("\"", "\\\"")
うまくいくはずで、コアライブラリに精通している人にとっては読みやすくなっています。
このreplace
メソッドは、ある部分文字列を別の部分文字列に置き換えるだけです。
リテラルターゲットシーケンスに一致するこの文字列の各サブストリングを、指定されたリテラル置換シーケンスに置き換えます。置換は文字列の最初から最後まで進行します。たとえば、文字列内で置換
"aa"
すると、ではなく結果になります。"b"
"aaa"
"ba"
"ab"
String test = "hello\"world".replaceAll("\"", "\\\\\"");
System.out.println(test);
\\
エスケープ文字をエスケープするには、合計5秒間、さらに2つ必要です\
。
\\
-エスケープ文字をエスケープします
\\
-文字を表示します
\
-引用をエスケープします。
試す:
String test = "hello\"world".replaceAll("\"", "\\\\\"");