Bonsoir,
Je souhaite supprimer une chaine de caractères où la partie centrale de la chaine n'est jamais la même.
exemple:
j'ai cela:
<text top="1034" left="685" width="130" height="12" font="0">COMPANY Inspector </text>
<text top="1065" left="93" width="40" height="12" font="0">Name </text>
<text top="1096" left="93" width="62" height="12" font="0">Signature </text>
<text top="1126" left="93" width="78" height="12" font="0">Date & Time </text>
<text top="1200" left="46" width="110" height="32" font="10">INDRA</text>
<text top="1223" left="60" width="89" height="15" font="11">03-AUG-2016</text>
je veux obtenir se qui suit:
<text>COMPANY Inspector </text>
<text>Name </text>
<text>Signature </text>
<text>Date & Time </text>
<text>INDRA</text>
<text>03-AUG-2016</text>
Je mets ci-dessous une partie du code que j'ai déjà réalisé: je cherche a résoudre mon problème via la classe Pattern mais je ne parviens pas à utiliser les expression régulières correctement
Merci pour votre coup de main.
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 Pattern p = Pattern.compile("<text.*"); try //controle sur l'ouverture du fichier à lire { lecteurAvecBuffer = new BufferedReader //instanciation de la classe BufferredReader (new FileReader(argv[0])); } catch(FileNotFoundException exc) //si l'expretion capture est vrai alors l'instruction du bloc catch est exécuté { System.out.println("Erreur d'ouverture"); } i=0; // initialisation de la variable while ((ligne = lecteurAvecBuffer.readLine())!=null) //boucle permettant la scrutation du fichier à épurer { boolean b = ((Pattern.matches("(.*)font=\"\\d{2}\"> </text>",ligne)) || (Pattern.matches("(.*)font=\"\\d\"> </text>",ligne))); // condition permettant de retirer toutes les lignes où il n'y a pas de text if (ligne.contains(valeur2))//ici je déterminé le début de la page que je souhaite extraire { i=1; } if (ligne.compareTo(valeur3)==0 && i==1) //ici je déterminé la fin de la page que je souhaite extraire { i=0; } if ( ((ligne.compareTo(valeur1))!=0) && (i == 1) && !b) //condition à remplir pour que la courant ligne lu soit selectionnée { ligne = ligne.replace(p.pattern(), ""); System.out.println(ligne); } //fin du if } //fin du while
Olivier
Partager