[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 -
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.
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.
A voir également:
- [c#] Exercice sur les traitements de string
- Liste des maladies et leurs traitements - Télécharger - Bureautique
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Ce traitement de texte gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
- Colis en cours de traitement sur le site ✓ - Forum Consommation & Internet
4 réponses
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.
J'ai oublié de préciser qu'il n'y a aucune taille fixe.
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
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
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 )
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
Seulement je ne suis pas bien sure de moi.
Qu'en penses tu ?
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 ?