バックストロークを4回使用して1回のバックストロークを出力する必要があるのはなぜですか?バックストロークをエスケープして期待通りに機能しない
String str = "\"";
str = str.replaceAll("\"", "\\\\\"");
System.out.println(str);
リターンは「
but
String str = str.replaceAll("\"", "\\\"");
System.out.println(str);
リターン」
厳密に言うと、replaceAllの2番目の引数は正規表現ではなく、[置換文字列]です(http://download.oracle.com/javase/6/docs/api/java/util/regex/ Matcher.html#replaceAll%28java.lang.String%29)。 – axtavt
@axtavt:いいキャッチ。私はそれが第一の問題ではなく、問題を引き起こす第二の議論であることに気付かなかった。編集します。 –
ありがとうございましたJon、私はCharSequenceがStringを実装していることに気がつきましたが、 'replace'はString paramaterを受け入れるとは思いませんでした。 –