Expression régulière Java

ref92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
ref92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je travaille sur un programme qui compare deux responses Soap.
Ces deux responses contiennent chacune

<messages>PDL EN COURS D'UTILISATION PAR UN AUTRE UTILISATEUR : REF. EN COURS SUR TERMINAL : ZL400177 ENTREES INTERDITES. </messages>

Je voudrais que la chaîne " : ZL400177 ENTREES INTERDITES." soit ignorée.
Je pensais utiliser un matcher et la méthode replaceAll pour remplacer " : ZL400177 ENTREES INTERDITES." par "."

Pensez-vous que c'est une bonne solution? Si oui, est-ce que l'expression régulière à passer comme argument à replaceAll serait-elle "(\\s((.)(\\s)))[A-Z_0-9]{8}"?

Merci d'avance pour vos réponses
Ref 92

A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Il suffit de tester pour voir ce qui se passe :

public static void main(String...args)  
{  
  String a = "PDL EN COURS D'UTILISATION PAR UN AUTRE UTILISATEUR : REF. EN COURS SUR TERMINAL : ZL400177 ENTREES INTERDITES.";  

  String b = a.replaceAll("(\\s((.)(\\s)))[A-Z_0-9]*", ".");  
  System.out.println(b);  
}

Ce qui donne :

PDL EN COURS D'UTILISATION PAR UN AUTRE UTILISATEUR : REF. EN COURS SUR TERMINAL. ENTREES INTERDITES.

Si j'ai bien compris ce n'est pas ce que tu veux... Essayes plutôt ceci :

String c = a.substring(0, a.lastIndexOf(" : ")).concat(".");  
System.out.println(c);

Ce qui donne :

PDL EN COURS D'UTILISATION PAR UN AUTRE UTILISATEUR : REF. EN COURS SUR TERMINAL.
La confiance n'exclut pas le contrôle
1
ref92 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour ton aide.
0