web-dev-qa-db-fra.com

comment remplacer "(guillemets doubles) dans une chaîne par \" dans java

J'ai une variable de chaîne strVar avec une valeur comme ' "value1" ' et je veux remplacer tous les guillemets doubles dans la valeur par ' \" '. Ainsi, après que la valeur de remplacement ressemblerait à ' \"value1\" '

Comment faire cela en Java? Veuillez m'aider.

13
net user

Tu recherches

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

[~ # ~] démo [~ # ~]

J'éviterais d'utiliser replaceAll car il utilise la syntaxe regex dans la description de ce qu'il faut remplacer et comment le remplacer, ce qui signifie que \ devra être échappé dans la chaîne "\\" mais aussi en regex \\ (doit être écrit comme "\\\\" chaîne) ce qui signifie que nous aurions besoin d'utiliser

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

ou probablement peu plus propre:

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

Avec replace, le mécanisme d'échappement est ajouté automatiquement.

35
Pshemo

en fait c'est: strVar.replaceAll("\"", "\\\\\"");

5
Manuel Manhart

Par exemple, prenez une chaîne qui a une structure comme celle-ci --- >>>

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

Et vous voulez remplacer tous les guillemets doubles par une valeur vide ou dans un autre Word, si vous voulez couper tous les guillemets doubles.

Faites comme ça,

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

Pour remplacer les guillemets doubles

str=change condition to"or"      

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

Après remplacement: changez la condition en\"ou \"

Pour remplacer les guillemets simples

str=change condition to'or'      

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

Après remplacement: changez la condition en\'ou \'

0
Shobha

Les chaînes sont formatées avec des guillemets doubles. Ce que vous avez est des guillemets simples, utilisés pour chars. Ce que vous voulez c'est:

String foo = " \"bar\" ";

0
Aaron

Cela devrait vous donner ce que vous voulez;

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