J'ai la chaîne d'entrée suivante: (la longueur de la chaîne et == 'quelque chose "varie). p> sortie souhaitée: P> line = line.replaceAll("(\\s*==\\s*)", "(\"")
4 Réponses :
\s*==\s*'(\S+?)'
Vous pouvez le faire en deux étapes de Exemple de code complet: p> de remplacement () code>: String str = "flag1 == 'hello' and flag2=='hello2'";
str = str.replaceAll("'(?=\\w)","('")
.replaceAll("(?<=\\w)'$?", "')");
System.out.println(str); // prints flag1 == ('hello') and flag2==('hello2')
Sauf si je suis mal compris, vous pouvez tout correspondre entre les citations et remplacer.
s = s.replaceAll("\\s*==\\s*'([^']+)'", "==(\"$1\")");
Essayez ceci
J'ai utilisé le moyen @hwnd de le faire. Merci à tous ceux qui ont répondu :)
Mais comment remplacer-t-il des espaces
autour == code>@vks - J'ai remplacé les espaces autour == avec un autre remplacé ()
Ma regex l'a fait en une fois dans la première tentative :)