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 :

parcourir une chaine de caractères


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut parcourir une chaine de caractères
    Bonjour,

    C'est une application web asp.net et c# ,
    j'aimerais pourvoir parcourir une chaine de caractère pour pourvoir trouver des tabulation a lintéreiur ou des retour de ligne dans un fichier texte.

    Exemple de mon fichier texte :

    nom de la personne age adresse ville tel
    nom de la personne age adresse ville tel
    nom de la personne age adresse ville tel
    nom de la personne age adresse ville tel
    ......

    et donc jaimerais parcourir ma premier ligne et recupéré le nom de ma personne, lage, ladresse, le ville , le tel et le mettre dans un tableau. Pour cela il faut tester les tabulation et les retour de ligne mais je sais aps coment faire.


    Voila le premier code que jai fais mais ca ne marche pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    private void Button4_Click(object sender, System.EventArgs e)
    {
    string ligne = " " ;
    string chaine = " " ; 
    string [] montablo ;
        char[] Caractaire_Separateur;
        string chaine1 = " " ;
     
        int cpt =0;
     
    StreamReader sr=File.OpenText(@"C:\monFichier.dat") ;
    while ( ligne != null)
            {
            ligne = sr.ReadLine();
            chaine+=ligne;
            }
     
    foreach (char ch in chaine) { Label2.Text=("ok"); }
     
     
    String MyString= "test";
    for (int i = 0; i < MyString.Length ; i++)
    { char ch = MyString[i]; 
     
             Label1.Text =("1") ;
             Label2.Text=("o") ;
             }
     
    }


    enfin voila c pas super comme code meme tres nul, je remercie tous ceux qui m'aideront.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 68
    Par défaut
    Je pense que tu peux essayer de débrouiller avec la fonction Split de la classe String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    String[] lignes = taChaine.Split('\n');
     
    for(int i=0;i<lignes.length; i++)
    {
     String[] maLigne = lignes[i].Split('\t');
     //après nom => maLigne[0], age => maLigne[1] ...
    }
    ça répond à ton problème ?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    ben en faite je ne comprend pas le code que tu ma mis ( pour te dire la vérité ben je métrise pas trop le c# et je dois faire une apli rapidement, tu pouré me commenté ton code et me dire ce ke chaque ligne fé ?

    merci a toi.

  4. #4
    Membre confirmé
    Profil pro
    Informaticien
    Inscrit en
    Septembre 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Septembre 2002
    Messages : 69
    Par défaut
    Salut,

    La fonction split permet de découper une chaine de caractère selon un élément séparateur.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string message = "bonjour, tous le monde, comment allez vous";
    string[] monTableau;
    monTableau = message.split(',');
    monTableau[0] contiendra "bonjour"
    monTableau[1] contiendra "tous le monde"
    monTableau[2] contiendra "comment allez vous"

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    ok je viens de comprendre !

    par exemple si jai un texte avec plusieur phraze , chaque phraze est séparé par un retour a la ligne et chaque mot par un espace donc sa ferais sa :

    string montext = "";
    string maphrase "";
    string[ , ] monTableau_phrase;

    monTableau = montext.split('\n') , maphrase.split('\t') ;


    et sa me donera :

    monTableau[0,1] contiendra "bonjour"
    monTableau[0,2] contiendra "tous le monde"
    monTableau[0,3] contiendra "comment allez vous"

    monTableau[1,1] contiendra "ca"
    monTableau[1,2] contiendra "va"
    monTableau[1,3] contiendra "merci"


    ca existe ce que jai ecrit ou pas du tout ???



    PS : comment tu fais pour introduire du code dans ton message ??

  6. #6
    Membre confirmé
    Profil pro
    Informaticien
    Inscrit en
    Septembre 2002
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Septembre 2002
    Messages : 69
    Par défaut
    Non pas tout as fait, split renvoi un tableau à une dimension seulement.

    reprenons ton exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string montext = "";
    string maphrase "";
    string[ , ] monTableau_phrase;
     
    monTableau = montext.split('\n') , maphrase.split('\t') ;
    Si tes chaine de caractère ne contiennent aucune valeur (même si chaine vide est déjà une valeur mais on va pas tous compliqué) tu ne peut rien "splitter".
    Comme je te le dis au début, split renvoi un tableau à une dimension donc tu ne peut pas faire deux split pour envoyer sur un tableau à deux dimension.

    Je te conseille de faire des tests avec l'exemple que je t'ai donné, lorsque ce sera concluant remplace par ton texte à toi et ton séparateur qui est la tabulation.

    Pour la fin de ligne tu doit lire ton fichier avec la méthode readLine je crois ou qqchose comme ca qui te permet de lire ligne après ligne. Puis pour chaque ligne lu tu fait unjsplit et tu rempli ton tableau.


    NB: Pour mettre du code utilise l'icone en forme de diez en haut de l'éditeur de texte.

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Parcourir une chaine de caractère
    Par jnauche dans le forum VBScript
    Réponses: 4
    Dernier message: 13/08/2008, 16h46
  3. parcourir une chaine et extraire depuis un caractère
    Par Dsphinx dans le forum Langage
    Réponses: 4
    Dernier message: 12/03/2007, 15h16
  4. [String] Parcourir une chaine de caractères
    Par Samanta dans le forum Langage
    Réponses: 13
    Dernier message: 20/05/2005, 10h27
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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