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 :
!? 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 :
#> 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 : 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);
 
	}
}