Bonjour
Comment fairepour enlever les opérateurs && et || d'un string.
Je voudrais obtenir :
enleverOperateurs("a && b") -> [a, b]
J'ai essayé split("&&, ||") mais ça découpe tout!
Version imprimable
Bonjour
Comment fairepour enlever les opérateurs && et || d'un string.
Je voudrais obtenir :
enleverOperateurs("a && b") -> [a, b]
J'ai essayé split("&&, ||") mais ça découpe tout!
Je ne comprends pas bien ce que tu veux obtenir... que représente "[a, b]" ? une chaîne de caractère ou un tableau ?
La méthode split est très efficace pour extraire les morceaux de chaîne séparés par "&&" ou "||", ensuite rien ne t'empêche de recoller les morceaux.
Ou sinon tu peux utiliser la classe Matcher pour remplacer dans ta chaîne toutes les occurences de "&&" ou "||" par une chaîne vide ou une virgule...
Ce sont en tous cas deux méthodes qui pourraient marcher, par contre je ne suis pas sûre que ce soit les plus efficaces (surtout la première :aie:).
Ooooh je n'avais pas fait attention à ça.
J'espère que tu n'utilises pas vraiment split("&&, ||"); tel quel dans ton code ? Parce que là tu recherches la chaîne "&&, ||" telle quelle, et pas {"&&" ou "||"}.
Je t'invite à aller lire un tutoriel sur les expressions régulières : ici par exemple.
EDIT correction de la partie en rouge
en fait tu recherches même {"&&, " ou "" ou ""} ;)
et c'est pour ça que ça découpe entièrement ta chaîne, parce qu'il y a toujours une chaîne vide entre chaque caractère...
Bonjour,
Si c'etait moi j'utilise split, mais de cette maniere
puis je parcoure le tableau et je concatene ma chaine au même temps.Code:String[] liste = MaChaine.split("\\&&");
et puis je pourai faire de même pour les "||"
ouCode:String[] liste = chaine.split("(&&|\\|\\|)");
Code:String[] liste = chaine.split("(&|\\|)\\1");
Rhôoo je n'avais pas donné la solution pour que hynposat7 puisse chercher tout seul :aie:
Désolé :aie:
On a aussi
Mais cela ne te découpera rien du tout, cela enlèvera simplement les caractères "&" et "|"Code:
1
2
3
4
5 public static void main (String... args){ String quelBazar = "123465789||blablabla&&tototototo"; String resultat = quelBazar.replaceAll("[&|]",""); System.out.println(resultat); }
çà fait quoi les "\\" ? c'est un échappement pour le "|" ?Code:String[] liste = chaine.split("(&&|\\|\\|)");
oui
Le caractère '|' dans une expression régulière représente un "ou" (d'où ma remarque : avec "&&, ||" tu recherches "&& " ou "" ou "").
Il faut donc échapper ce caractère pour qu'il soit bien interprété comme un caractère...
Et ensuite, il faut échapper une deuxième fois le "\" pour Java...
As-tu seulement essayé de te renseigner sur les expressions régulières ? :roll: