Bonjour
J'ai un document (.txt) et je voudrais le parser.
Comment faire..auriez vous des pistes a me donner pour ça ?
exemple de document
"14:59:15 (ABAQUSLM) IN: "parallel" elmir_a@lame-03 (3 licenses) "
Merci de m'aider
Version imprimable
Bonjour
J'ai un document (.txt) et je voudrais le parser.
Comment faire..auriez vous des pistes a me donner pour ça ?
exemple de document
"14:59:15 (ABAQUSLM) IN: "parallel" elmir_a@lame-03 (3 licenses) "
Merci de m'aider
Pour parser un document, il faut analyser sa structure :
Soit il y a un séparateur :
Un peu comme un fichier CSV, il suffit donc de faire un split en fonction de ce caratère et on récupère un tableau ou chaque valeur correspond à une "colonne".
Soit il n'y a pas de séparateur :
Dans ce cas, les différentes "colonnes" ont un nombre de caractères fixes et on utilise substring afin de découper la chaîne originale en "colonnes".
Ton fichier n'a pas l'air d'appartenir à ces deux cas donc si c'est toi qui le crée, essaye de trouver un format plus approprié afin de pouvoir le parser correctement.
Renseigne toi sur les expressions régulières...
Dans ton cas, ça devrait donner :
Code:
1
2
3
4
5
6
7
8
9
10 var input = "14:59:15 (ABAQUSLM) IN: \"parallel\" elmir_a@lame-03 (3 licenses)"; var m = regex.Match(input,@"^(?<heure>[0-9]{2}\-[0-9]{2}\-[0-9]{2}) \((?<nom>[A-Z]+)\) IN\: "+"\"(?<location>[a-z]+)\" (?<mail>[^\s]+) \((?<licences>[0-9]+) licences\)$"); var heures = m.Groups["heures"].Value; var nom = m.Groups["nom"].Value; var loc = m.Groups["location"].Value; var mel = m.Groups["mail"].Value; var licences = Convert.ToInt32(m.Groups["nom"].Value);
merci pour votre aide :ccool: