Bonjour à tous,
Mon problème, je voudrais ne pas afficher le INT-00000, hors, dans ma REGEX, j'ai bien positionné ?: pour le groupe (?:INT-0*) mais ça ne marche pas.
Les données en entrées :
Numéro GCR : 515566Libellé opération: Ajout Iub sans modification HWN° service : 77bCause probable : Pb outil Description :FC HW_N60807_AJOUT_IUB.xml -Import:RNC-OK,NodeB-NOK
un autre exemple :
Numéro GCR : INT-00000249035Libellé opération: Swap ECTSN° service : 278Cause probable :Probleme cablageDescription : Digital Cable FailureProblème : Probleme de cablage RRUWs pour les secteurs 1 2 et 3
Ma regex :
(?:^Numéro GCR\\s*:?\\s*)(((?:INT-0*)\\d{6})|\\d{6})
Le resultat en sortie de traitement :
.---------------+---------------+--------------.
| tLogRow_2 |
|=--------------+---------------+-------------=|
|NUMERO_INCIDENT|NUMERO_GCR |NUMERO_SERVICE|
|=--------------+---------------+-------------=|
|TI0000001282892|452443 |227 |
|TI0000001284825|453948 |105 |
|TI0000001288006|453575 |122 |
|TI0000001288415|453159 |NA |
|TI0000001294306|462658 |03 |
|TI0000001295452|463426 |227 |
|TI0000001302441|469263 |221 |
|TI0000001307487|INT-00000394636|NA |
|TI0000001307583|INT-00000407974|NA |
|TI0000001307593|INT-00000461661|NA |
|TI0000001307641|INT-00000423498|NA |
|TI0000001310078|INT-00000478638|52 |
hors j'attends ce résultat :
.---------------+---------------+--------------.
| tLogRow_2 |
|=--------------+---------------+-------------=|
|NUMERO_INCIDENT|NUMERO_GCR |NUMERO_SERVICE|
|=--------------+---------------+-------------=|
|TI0000001282892|452443 |227 |
|TI0000001284825|453948 |105 |
|TI0000001288006|453575 |122 |
|TI0000001288415|453159 |NA |
|TI0000001294306|462658 |03 |
|TI0000001295452|463426 |227 |
|TI0000001302441|469263 |221 |
|TI0000001307487|394636 |NA |
|TI0000001307583|407974 |NA |
|TI0000001307593|461661 |NA |
|TI0000001307641|423498 |NA |
|TI0000001310078|478638 |52 |
Mon code JAVA :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Pattern pattern = Pattern.compile("(?:^Numéro GCR\\s*:?\\s*)(((?:INT-0*)\\d{6})|\\d{6})");
String [] tableau1;
String temp;
temp = input_row.DESCRIPTION;
tableau1 = temp.split("\\r\n");
output_row.NUMERO_GCR = "NA";
for (String s : tableau1)
{
Matcher matcher = pattern.matcher(s);
while (matcher.find())
{
output_row.NUMERO_GCR = matcher.group(1);
}
} |
J'ai retourner ma REGEX dans tous les sens et rien à faire, est-ce un problème d'affichage du groupe (matcher.group(1)) ? car j'arrive à faire afficher sans le INT-00000 mais alors quand le groupe ne contient que les 6 chiffres, eux ne s'affichent pas.
Bref, j'espères avoir été clair....(comme à mon habitude
).
Je vous remercie de votre aide,
Partager