値が' "value1" '
の文字列変数strVarがあり、値のすべての二重引用符を' \" '
に置き換えたいと思います。したがって、置換後の値は' \"value1\" '
のようになります
Javaでこれを行う方法は?親切に私を助けてください。
あなたは探している
strVar = strVar.replace("\"", "\\\"")
replaceAll
は、置換対象と置換方法の説明で正規表現構文を使用するため、使用しないようにします。つまり、\
を文字列"\\"
でエスケープする必要があります。 \\
("\\\\"
文字列として記述する必要があります)は、使用する必要があることを意味します
replaceAll("\"", "\\\\\"");
またはおそらく少しクリーナー:
replaceAll("\"", Matcher.quoteReplacement("\\\""))
replace
を使用すると、エスケープメカニズムが自動的に追加されます。
実際には:strVar.replaceAll("\"", "\\\\\"");
たとえば、次のような構造を持つ文字列を取得します--- >>>
String obj = "hello"How are"you";
また、すべての二重引用符をトリムする場合は、すべての二重引用符を空白値または他のWordで置き換えます。
こんな感じで
String new_obj= obj.replaceAll("\"", "");
二重引用符を置き換えるには
str=change condition to"or"
str=str.replace("\"", "\\"");
置換後:条件を「または」に変更
一重引用符を置き換えるには
str=change condition to'or'
str=str.replace("\'", "\\'");
置換後:条件を「または」に変更
文字列は二重引用符でフォーマットされます。 char
sに使用される単一引用符があります。あなたが欲しいのはこれです:
String foo = " \"bar\" ";
これにより、必要なものが得られます。
System.out.println("'\\\" value1 \\\"'");