Problème avec mon Pattern
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 :
Citation:
!? 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
2° txt :
Citation:
#> 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
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 ^^..** :
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:
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);
}
} |