IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Récupérer valeurs dans String en fonction d'un format [Débutant]


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut Récupérer valeurs dans String en fonction d'un format
    Bonjour,

    J'ai des chaînes de caractères (string) qui contiennent certaines informations qui ne sont pas toujours toutes présentes ni toujours au même emplacement. Ces chaines utilisent un formatage pour déterminer quelle information est présente et où elle se trouve.
    Donc chaque jeu de chaines de caractères arrivent avec sa chaine de "balises"

    Exemple 1 :
    chaine = 120152-Dupond/10
    format = %code%-%nom%/%quantite%

    Exemple 2 :
    chaine : Durant 201810252531#Retard de 2 jours
    format = %nom% %facture%#%commentaires%

    Je voudrais récupérer chacune des informations présentes en fonction de son format.
    Je n'ai aucune idée comment faire.
    Pouvez-vous m'aider ?
    Merci.

  2. #2
    Membre averti Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Points : 372
    Points
    372
    Par défaut
    Salut,

    Je pense qu'il faut que tu recherches les caractères de séparation

    Regarde ce topic,il y a quelques idées de commande :
    https://www.developpez.net/forums/d1...ne-caracteres/

  3. #3
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Février 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2014
    Messages : 50
    Points : 97
    Points
    97
    Par défaut
    Tu peux par exemple utiliser le méthode Split(), tu fais plusieurs appels avec chacun des caractères de séparation.
    A chaque appel si la taille du tableau qui en résulte > 1 c'est que ton caractère est trouvé, la chaîne que tu cherche est donc à l'indice 0 du tableau résultat de la méthode Split() (si située avant le séparateur).

    Tu peux aussi utiliser les expressions régulières avec un "masque" contenant tes séparateurs...

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Tester en priorité avec des expressions régulières.
    Ce sera bien plus performant et plus évolutif que du code à grand coup de Split et autres découpages de sous-chaînes...
    On ne jouit bien que de ce qu’on partage.

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Comme les autres membres, je vous conseille d'utiliser les Regex
    Je ne suis pas très fort en regex, mais voici une petite idée pour commencer avec votre projet : https://regex101.com/r/aQQ2YV/1

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Tester en priorité avec des expressions régulières.
    Ce sera bien plus performant et plus évolutif que du code à grand coup de Split et autres découpages de sous-chaînes...
    les expressions régulières n'ont pas été inventées pour être performantes, sur quelques cas que j'avais testé à l'époque c'était entre des dizaines et des milliers de fois plus lent qu'un algo spécifique
    c'est pratique pour faire quelque chose en une ligne de code (au passage illisible pour les non initiés ^^) et côté client pour checker un format d'entrée pourquoi pas
    pour une utilisation répetée je ne pense pas que c'est une bonne idée
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci pour toutes vos réponses.
    Je pense que je vais pouvoir me débrouiller avec tout ça
    Et si jamais ça n'est pas le cas, je redemanderai de l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer les valeurs dans string
    Par tricotin dans le forum Arduino
    Réponses: 16
    Dernier message: 31/12/2017, 17h54
  2. [RegEx] [preg_match_all] Récupérer valeurs dans XML et créer URLs en fonction
    Par michelfiacre dans le forum Langage
    Réponses: 9
    Dernier message: 16/11/2013, 13h22
  3. Récupérer valeurs dans une fonction
    Par Touny dans le forum VBScript
    Réponses: 1
    Dernier message: 30/06/2011, 16h13
  4. Récupérer valeur dans un thread
    Par Nasky dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 07/06/2006, 21h37
  5. [initialisation et valeur] valeur dans String[]
    Par okoax dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2006, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo