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.
Tu recherches
strVar = strVar.replace("\"", "\\\"")
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.
en fait c'est: strVar.replaceAll("\"", "\\\\\"");
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("\"", "");
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 \'
Les chaînes sont formatées avec des guillemets doubles. Ce que vous avez est des guillemets simples, utilisés pour char
s. Ce que vous voulez c'est:
String foo = " \"bar\" ";
Cela devrait vous donner ce que vous voulez;
System.out.println("'\\\" value1 \\\"'");