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

Windows Forms Discussion :

[Découpage chaine String et decalages binaires]


Sujet :

Windows Forms

  1. #1
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut [Découpage chaine String et decalages binaires]
    Bonjour à tous,
    J'espère que ces problèmes n'ont pas déja été exposé, si c'est le cas j'en suis désolé.

    Alors voila, je dispose d'un tableau de chaine de caractère, ce tableau donne :
    index | champ
    0 "123XXX"
    1 "1234XX"
    2 "12XXXX"
    3 "1XXXXX"
    4 "12345X"

    En faites je souhaiterai extraire uniquement les champs numériques.
    J'ai vu qu'il etait possible de faire cette manipulation avec string.Split(separateur)

    Par contre je n'arrive toujours pas à extraire mes datats.

    Existe-t-il un autre moyen de procéder ?


    Aussi en ce qui concerne les chaines Hexa.

    j'ai par exemple :
    "0x12" , "0x34" , "0x5F" , "0xFF"
    "0x12" , "0x34" , "0xFF" , "0xFF"
    "0x12" , "0x3F" , "0xFF" , "0xFF"
    "0x12" , "0x34" , "0x56" , "0x7F"

    Je voudrais savoir comment faire un décalages de 4 pour virer le "F".
    pour donner :
    "12345"
    "1234"
    "123"
    "1234567"

    Merci d'avance pour vôtres aides.

    cordialement,

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tu peut toujours utiliser String.SubString ou alors énumérer tous les caractères de la chaine et les vérifier un par un mais dit moi ton but ultime c'est quoi ? convertir un nombre d'un string sous forme hexa en un nombre correct ?

  3. #3
    Membre expérimenté Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Points : 1 732
    Points
    1 732
    Par défaut
    Salut !
    J'avoue ne pas tout comprendre de ta demande.
    Pour extraire les parties numériques de tes chaines je te conseil les expressions rationnelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MatchCollection m = Regexp.Matches(TaChaine, @"[0-9]+");
    Cette expression va trouver tout les nombres décimaux entiers de ta chaine. Exemple :
    "123blablabla456 encore un peut 2 texte parsemé de nombre 789".
    m sera une collection de 4 éléments : "123", "456", "2", "789".

    Tu peux tester différentes expressions pour extraires différents types de nombre. Exemples

    ((0x)?[0-9a-fA-F]+) => les nombres hexadécimaux de la forme 6F ou 0x6f

    [0-9]+((\.|,)[0-9]+)? => les nombres entiers et décimaux, le '.' et la ',' sont accepté comme séparateurs décimaux.
    Et ainsi de suite.

  4. #4
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    Merci à vous 2 Smyley et ctxnop pour votre aide.
    J'ai trouver ma solution en 'jouant' avec Split()

    Pour le second problème, je me suis chargé de copier mes valeurs hexa dans une string et ensuite d'appliquer le même principe que le Split.

    Merci encore, voici pour les personnes qui rencontrerai ce même problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                    string tampon;
                    char[] sep = new Char[] { 'X' };
                    string[] tampon2 = new string[1];
                    tampon = "12345FFFF";
                    string[] Result = tampon.Split(sep);
                    Console.Write(Result[0]); // affiche bien "12345"
    Voila, merci encore à tous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/10/2005, 18h46
  2. [Compilation] Chaine string Tres tres longues
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 20/07/2005, 12h20
  3. Découpage dun string dans l'espace
    Par Clad3 dans le forum OpenGL
    Réponses: 4
    Dernier message: 24/03/2005, 18h25
  4. [C#] Rassembler les chaines ( string )
    Par smyley dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/01/2005, 19h27
  5. Réponses: 10
    Dernier message: 17/12/2003, 14h51

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