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

C# Discussion :

extraire des chiffres d'un string


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Par défaut extraire des chiffres d'un string
    Bonjour Développeur, Développeuze,

    je fait face a un problème qui requiert votre aide.

    j'ai un string:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    string toto="1;10;6;21;4"

    je souhaite récupérer les chiffres qui sont des caractères et les insérer dans un tableau.

    voila un peu comment j'ai procédé:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    string toto="1;10;6;21;4";
     int[] myTable = new int[toto.Length];
     
          for(int i=1;i<=toto.Length; i++)
          {
                  if toto[i]!=";")
                  {
                         myTable[i-1]=toto[i];
                   }
           }

    il va donc récupérer chaque caratère vérifier si il est diférent du ";" et le mettre dans un tableau, ce qui me donnera donc un talbeau qui ressemble à ca:

    |1|1|0|6|2|1|4|

    mais ce n'est pas ce que je veux. moi je veux plutot:

    |1|10|6|21|4|. de sorte que 10 et 21 ne soi pas séparé.

    Merci de m'aider.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pour commencer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string Line="1;10;6;21;4"; 
    string Words[]=Line.Split(";") ;
    // ainsi Words[0]="1", Words[1]="10", ...
    Ensuite si tu veux un tableau de nombres, il faudra faire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int [] Valeurs=new int[Words.Length];
    for (int i=0;i<Words.Length;i++) 
      if (!int.TryParse(Words[i],Valeurs[i])) Valeurs[i]=int.MinValue ;

  3. #3
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Salut.

    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string toto = "1;10;6;21;4";
    string[] totoSplitted = toto.Split(';');
    int[] totoInt = new int[totoSplitted.Length];
    for (int i = 0; i < totoSplitted.Length; i++) {
        totoInt[i] = int.Parse(totoSplitted[i]);
    }
    Mais en plus propre hein (par exemple TryParse à la place de Parse, etc.) , par ce que je te propose c'est vraiment le minimum syndical

    EDIT : grillé par graffito

  4. #4
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    string toto = "1;10;6;21;4";
                string[] tableauStr = toto.Split(new char[] { ';' });
                List<int> listInt = new List<int>();
     
                foreach (string str in tableauStr)
                {
                    int i;
                    if (Int32.TryParse(str, out i))
                    {
                        listInt.Add(i);
                    }
                }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 69
    Par défaut
    merci a tous pour votre aide
    ca marche

    je le met donc comme résolue

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

Discussions similaires

  1. extraire des nombres d'une string
    Par neonico dans le forum C#
    Réponses: 9
    Dernier message: 06/03/2014, 09h58
  2. Réponses: 15
    Dernier message: 04/03/2009, 20h46
  3. extraire des informations d'un string complexe
    Par damien92 dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2007, 18h36
  4. Extraire des chiffres
    Par nellynew dans le forum Access
    Réponses: 4
    Dernier message: 06/06/2006, 15h56
  5. Réponses: 4
    Dernier message: 11/05/2006, 14h41

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