Bonjour,
J'ai une expression de type String du genre : "a && b || c"
et je voudrais en tirer une listes des opérateurs && et || utilisés.
exemple
"a && b || c && d" --> resultat = ["&&"; "||";"&&"]
Merci
Bonjour,
J'ai une expression de type String du genre : "a && b || c"
et je voudrais en tirer une listes des opérateurs && et || utilisés.
exemple
"a && b || c && d" --> resultat = ["&&"; "||";"&&"]
Merci
String : indexOf(String str) renvoie l'indice où a lieu la première occurrence de str à qui tu peux donner la valeur "&&"
Si cette séquence n'existe pas, la valeur -1 est retournée
Il doit surement y avoir d'autres façons de faire...
Une petite lecture dans les API Java classe String ne font pas de mal :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public static void main(String[] args) { Vector<String> res = new Vector<String>(); String s = "a && b || c && d"; Pattern pattern = Pattern.compile("&&|\\|\\|"); Matcher matcher = pattern.matcher(s); int i=0; while(matcher.find()){ int start = matcher.start(); int end = matcher.end(); res.add(s.subSequence(start, end).toString()); i=end; } //affichage du resultat for (int j = 0; j < res.size(); j++) { String s1 = res.elementAt(j); System.out.println("<"+s1+">"); } }
Merci pour avoir fournit un exercice sur les regex
Essaye c'est très sympa.
La solution de ninow me parraissant trop longue au niveau du code, j'ai essayé de faire un poil plus court :
Le tutoriel qui m'a servit à la faire se trouve ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static void main (String... args){ String quelBazar = "aa && bb || cc && dd"; String resultat = quelBazar.replaceAll("[^&|]+","x").replaceAll("^x", ""); String[] arrésultat = resultat.split("x"); for (String display : arrésultat) System.out.println(display); }
http://cyberzoide.developpez.com/java/regex/
Partager