none
manipuler les chaines de caractere RRS feed

  • Question

  • bonjour!

    j'ai une chaine de caractère de ce type  "{ 2 18 3 11}" je voudrai juste récupérer les chiffre et les nombre dont 2, 18, 3 et 11 pour faire un calcule spécial pour chaque élément.

    Merci d'avance


    vendredi 31 mai 2013 09:53

Réponses

  • Bonjour,

    Voici un exemple:

    namespace SplitNumbers
    {
        using System.Windows.Forms;
        using System.Linq;
        using System.Collections.Generic;
    
        public partial class FormMain : Form
        {
            public FormMain()
            {
                this.InitializeComponent();
            }
    
            private void FormMain_Load(object sender, System.EventArgs e)
            {
                string maChaine = "{ 2 18 3 11 12 13 11 22 33}";
                IEnumerable<int> maListeDeNombre = ExtraireNombres(maChaine);
                maListeDeNombre.ToList();
    
                foreach (var item in maListeDeNombre)
                {
                    listBox1.Items.Add(item);
                }
            }
    
            private int[] ExtraireNombres(string chaine)
            {
                // on retire les parenthèses
                chaine = chaine.Substring(1, chaine.Length - 2);
    
                // On retire les espaces au début et/ou à la fin
                chaine = chaine.Trim();
    
                string[] liste = chaine.Split(' ');
    
                //On vérifie qu'il n'y a que des nombres
                int[] liste2 = new int[liste.Length];
                int compteur = 0;
                int nombre;
                for (int i = 0; i <= liste.Length - 1; i++)
                {
                    if (int.TryParse(liste[i], out nombre))
                    {
                        liste2[compteur] = nombre;
                        compteur++;
                    }
                }
    
                return liste2;
            }
        }
    }


    Apprenez à développer en C#

    fred

    vendredi 31 mai 2013 12:12
  • Bonjour Saintjuste,

    Utiliser la méthode Split ?


    Cordialement, Jacques

    • Marqué comme réponse Aurel Bera jeudi 6 juin 2013 10:22
    vendredi 31 mai 2013 10:34

Toutes les réponses