web-dev-qa-db-ja.com

javaの文字列内の(二重引用符)を\に置き換える方法

値が' "value1" 'の文字列変数strVarがあり、値のすべての二重引用符を' \" 'に置き換えたいと思います。したがって、置換後の値は' \"value1\" 'のようになります

Javaでこれを行う方法は?親切に私を助けてください。

13
net user

あなたは探している

strVar = strVar.replace("\"", "\\\"")

[〜#〜] demo [〜#〜]

replaceAllは、置換対象と置換方法の説明で正規表現構文を使用するため、使用しないようにします。つまり、\を文字列"\\"でエスケープする必要があります。 \\"\\\\"文字列として記述する必要があります)は、使用する必要があることを意味します

replaceAll("\"", "\\\\\"");

またはおそらく少しクリーナー:

replaceAll("\"", Matcher.quoteReplacement("\\\""))

replaceを使用すると、エスケープメカニズムが自動的に追加されます。

35
Pshemo

実際には:strVar.replaceAll("\"", "\\\\\"");

5
Manuel Manhart

たとえば、次のような構造を持つ文字列を取得します--- >>>

String obj = "hello"How are"you";

また、すべての二重引用符をトリムする場合は、すべての二重引用符を空白値または他のWordで置き換えます。

こんな感じで

String new_obj= obj.replaceAll("\"", "");
3

二重引用符を置き換えるには

str=change condition to"or"      

str=str.replace("\"", "\\"");

置換後:条件を「または」に変更

一重引用符を置き換えるには

str=change condition to'or'      

str=str.replace("\'", "\\'");

置換後:条件を「または」に変更

0
Shobha

文字列は二重引用符でフォーマットされます。 charsに使用される単一引用符があります。あなたが欲しいのはこれです:

String foo = " \"bar\" ";

0
Aaron

これにより、必要なものが得られます。

System.out.println("'\\\" value1 \\\"'");
0
dinukadev