[c#] Exercice sur les traitements de string

Résolu
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   -  
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

on m'a donné un petit exo à faire en c#.

Je part d'un fichier texte, et je dois en sortir un fichier Excel.
Le fichier excel devra contenir 3 colonnes ( Numéro index, désignation, prix)

Le fichier texte est construit de maniere suivante :
Numéro - Désignation prix €

Le problème est que je ne sais pas trop par quel coté commencer...

je pense lire le fichier ligne par ligne et lorsque je rencontre le "-" séparer la chaine en deux.
Mais concernant la séparation de la désignation et du prix, seul le symbole monétaire(€) est présent à chaque fois, mais à la fin de la ligne.

Auriez vous une idée car je commence à sécher un peu :/
Si vous avez besoin de plus de précision , n'hésiter pas.


En vous remerciant d'avance.

ps: je ne demande pas une résolution toute faites, loin de là ! je voudrais comprendre ce que je fais.

4 réponses

Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   30
 
Je me casse vraiment les dents, je dois avoir un problème de méthodologie.

J'ai oublié de préciser qu'il n'y a aucune taille fixe.
0
scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Il y a plusieurs façon de traiter du texte, la plus simple si tu es sur de ton coup, serait de faire des Split('-').

Split(char) permet de diviser une chaîne à chaque fois que le caractère char apparaît. Ça renvoie donc un tableau des sous-chaînes.

Une façon plus complexe mais bien plus puissante est l'utilisation d'expression régulières pour découper ta chaîne.

Google tout ça si tu veux en apprendre plus :

C# Regex
C# Split string

0
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   30
 
J'avais déjà trouvé la fonction Split. J'essayais de me dépatouiller avec ça.
En revanche, jamais entendu parler des expressions régulières. Je m'y penche !

Merci
0
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   30
 
Les expressions régulieres sont un peu ...complexe je trouve.
Pourrais tu me dire si je procède bien ?
voici un exemple de mon fichier (il y a bien les retours à la ligne dedans )
1 - « Arquebusier du XVI è siècle. »
Gravure du XVIII è siècle. Planche provenant de
l'ouvrage de Jacques de Gheyn, « Maniement d'armes,
d'arquebuses, mousquets et piques ». 25 x 17,5 cm.
Sous verre. Cadre en bois.
100 / 150 €


J'ai donc procéder au découpage comme ceci :
* un caractère numérique [0-9]
* un tiret - *-
* une désignation [a-zA-Z0-9_+-+,+.]
* des chiffres ( eventuellement un "/") avec d'autre chifres [0-9]*/[0-9]
* un € *€


Ce qui nous donnerais
^[0-9]? /s*-?/s[a-zA-Z0-9_+-+,+.]?/r?/n[a-zA-Z0-9_+-+,+.]?/s[0-9]*/[0-9]*€$


Seulement je ne suis pas bien sure de moi.
Qu'en penses tu ?
0
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   30
 
je me suis basé la dessus pour la faire.
0
Creutzou Messages postés 550 Date d'inscription   Statut Membre Dernière intervention   30
 
Et bien en mélangeant Split et REGEX, ça fonctionne nickel ;)

Mille merci !
0