Yoh
alors j'ai un petit problème avec le motif de mon pattern.
En faite, j'ai deux fichiers avec deux morceaux de texte deffirents:
1 txt :
2° txt :!? DEBUT
a= "^^VBB**_^^DDD**_sylda_^^FFF**"
b = "^^userPath**/^^VBB**/script/^^VBB**_^^DDD**_sylda_^^FFF**/^^RRR**/^^POLI**/^^BATMAN**/sting"
c = "^^userPath**/^^VBB**/script/^^VBB**_^^DDD**_sylda_^^FFF**/^^RRR**/^^POLI**/^^BATMAN**/temoin"
d = "^^userPath**/^^VBB**/script/^^VBB**_^^DDD**_sylda_^^FFF**/^^RRR**/^^POLI**/^^BATMAN**/results"
e = "^^userPath**/^^VBB**/script/^^VBB**_^^DDD**_sylda_^^FFF**/^^RRR**/^^POLI**/^^BATMAN**/cree"
?! FIN
et en faite j'ai un code qui permet d'afficher les différents clé c'est a dire VBB ,POLI, etc tout ce qui a l'interieur de {...} et ^^..** :#> DEBUT
b = "{userPath}/{VBB}/script/{VBB}_{DD}_sylda_{FFF}/{RRR}/{POLI}/{BATMAN}/sting"
c = "{userPath}/{VBB}/script/{VBB}_{DDD}_sylda_{FFF}/{RRR}/{POLI}/{BATMAN}/temoin"
d = "{userPath}/{VBB}/script/{VBB}_{DDD}_sylda_{FFF}/{RRR}/{POLI}/{BATMAN}/results"
e = "{userPath}/{VBB}/script/{VBB}_{DDD}_sylda_{FFF}/{RRR}/{POLI}/{BATMAN}/cree"
#< FIN
Sauf que le motif de mon pattern : "\\{([\\w]*)\\}" ne me permet pas de traiter n'importe quel fichier. Avez vous une petite astuce ??
code :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import java.util.ArrayList; import java.util.HashSet; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ChercheKeysTest2 { public static void main(String[] args) { String ZONE_B = "#>"; String ZONE_E = "#<"; String filename = ("C:\\Users\\ksmaili\\workspace\\fichierCSH.txt"); Finally fp = new Finally(); String texte = fp.extract(filename, ZONE_B, ZONE_E); // Je fais appel au texte qu'on veut traiter! ArrayList<String> arrList = new ArrayList<String>() ; Pattern p = Pattern.compile("\\{([\\w]*)\\}"); Matcher m = p.matcher(texte); while (m.find()) { arrList.add((m.group(1))); // on prend le groupe 1 } //System.out.println(arrList); // Etape pour supprimer les doublons : // 1er etp: Créer une liste de contenu unique basée sur les éléments de ArrayList Set<String> mySet = new HashSet<String>(arrList); // 2eme etp : Créer une Nouvelle ArrayList à partir de Set ArrayList<String> arrList2 = new ArrayList<String>(mySet); // 3eme etp : Afficher le contenu de ArrayList System.out.println("Contenu sans doublon: "+arrList2); } }
Partager