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
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.
Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/
Renseigne toi sur les expressions régulières...
Dans ton cas, ça devrait donner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Partager