Je dois parser un fichier ASCII (
)
Pour ca, j'utilise les expressions régulières (java.util.regex).
Chaque ligne comporte une "instruction" composée de plusieurs mots.
Ces mots sont séparés soit par un blanc, un ensemble de blanc, une ou plusieurs tabulations ou un virgule.
J'utilise les expressions régulières non pas pour vérifier que ma ligne "match" bien, mais pour pouvoir spliter la ligne en un tableau de mot (String.split())
J'ai donc :
Code :
- /**
- * Pattern expression utilisée pour récupérer les mots d'une ligne séparés par un blanc,
- * plusieurs blancs, une tabulation ou une virgule
- */
- String patternExpression = "[,\\s]+";
- Pattern pattern = Pattern.compile(patternExpression);
- private String[] getWords(String line_l) {
- return line_l.split(pattern.pattern());
- }
|
Ca marche très bien à une exception près..
Si je chercher à spliter la ligne :
Citation :
double IspVA0 445.0
(la ligne commence par une tabulation.. mais meme pbr avec blanc(s))
|
Je récupère :
words[0] = ""
words[1] = "double"
words[2] = "IspVA0"
words[3] = "445.0"
Quelqu'un peut-il m'aider a modifier mon expression régulière pour ne pas récupérer "" ????
Merciii d'avance..
---------------