2013-10-10 2 views
11

У меня есть строковая переменная strVar со значением как ' "value1" ', и я хочу заменить все двойные кавычки в значении ' \" '. Таким образом, после замены значение будет выглядеть как ' \"value1\" 'как заменить "(двойные кавычки) в строке с " в java

Как это сделать в java? Пожалуйста, помогите мне.

+0

компилировать ли ваш код? is ''" value1 "'' то, что вы видите в исходном коде или что вы видите при его распечатке? –

ответ

29

Вы ищете

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

DEMO

Я хотел бы избежать использования replaceAll, поскольку он использует синтаксис регулярных выражений в описании, что заменить и как заменить, а это значит, что \ должны быть экранированы в строке "\\", но также в регулярном выражении \\ (должно быть написано как "\\\\" строка), что означает, что нам нужно будет использовать

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

или, возможно, немного чище:

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

С replace мы спасаясь механизм добавляется автоматически.

+1

@ ManuelM. Должен работать нормально. –

+0

Я смешал его с replaceFirst ^^ –

0

Строки форматируются с двойными кавычками. У вас есть одинарные кавычки, используемые для char s. То, что вы хотите, это:

String foo = " \"bar\" ";

5

на самом деле это: strVar.replaceAll("\"", "\\\\\"");

0

Это должно дать вам то, что вы хотите;

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

Чтобы заменить двойные кавычки

str=change condition to"or"  

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

После Replace: условие изменения в \ "или \"

Чтобы заменить одиночные кавычки

str=change condition to'or'  

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

После Заменить : изменить co ndition в \ «или \»

3

Например, возьмем строку, которая имеет структуру, как это --- >>>

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

И вы хотите заменить все двойные кавычки с пустым значением или другими словами, если вы хотите обрезать все двойные кавычки.

Просто сделай так,

String new_obj= obj.replaceAll("\"", ""); 
Смежные вопросы