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

ASP.NET Discussion :

[C#] Comment extraire une partie d'une chaine de caractères ?


Sujet :

ASP.NET

  1. #1
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut [C#] Comment extraire une partie d'une chaine de caractères ?
    bonjour,

    J'ai trouvé sur des sites comment extraire des lettres d'un mot mais ca ne correspondant pas tout a fait à ce que je recherche.
    Je voudrais extraire les 4 premières lettres d'un mot (ca cà marche). Voici le code pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //exemple "checkbox_value" vaut "case_42"
    char[] splitters = new char[] { '_' };
    string[] laCase = checkbox_value.Split(splitters);
    //Résultat : laCase[0] vaut "case"
    Mais je voudrais aussi extraire le reste des lettres du mot à partir d'une position dans le mot, c'est a dire j'ai le mot suivant (par exemple) "case_42".
    Je voudrais extraire à partir de la 5eme lettre pour récupérer le nombre. Comment dois je faire???
    le génie n'existe pas sans une pointe de folie

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    //Résultat : laCase[0] vaut "case"
    //Résultat : laCase[1] vaut "42"

  3. #3
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut
    Pourquoi ne pas faire plus simple en utilisant la méthode Substring() ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string recherche = checkbox_value.Substring(0, 3);
    Cela me parait plus simple que d'utiliser les splitter
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  4. #4
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Merci ca marche mais j'ai encore un petit problème Voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string mat = "";
    Int32 longueur = checkbox_value.Length-1;
    mat = checkbox_value.Substring(5, longueur);
    Mais ca me met un message d'erreur sur ce qui est en rouge avec comme message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Détails de l'exception: System.ArgumentOutOfRangeException:
     L'index et la longueur doivent faire référence 
    à un emplacement situé dans la chaîne.
    Nom du paramètre : length
    le génie n'existe pas sans une pointe de folie

  5. #5
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par guitoux1
    //Résultat : laCase[1] vaut "42"
    Pour info, ce code ne marche pas il indique qu'on est or indice
    le génie n'existe pas sans une pointe de folie

  6. #6
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    J'ai compris mon erreur
    fallait faire ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string mat = "";
    Int32 longueur = checkbox_value.Length-5;
    mat = checkbox_value.Substring(5, longueur);
    5 pour le "case_"
    Merci pour ton aide CORBASE
    le génie n'existe pas sans une pointe de folie

  7. #7
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par emeraudes
    Pour info, ce code ne marche pas il indique qu'on est or indice
    Etrange, chez moi ça fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		string checkbox_value = "case_42";
    		char[] splitters = new char[] { '_' }; 
    		string[] laCase = checkbox_value.Split(splitters);
    		Response.Write(laCase[0]);
    		Response.Write("<br>" + laCase[1]);
    m'affiche bien :

  8. #8
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Je viens de tester avec ton code et çà marche je comprends pas pourquoi chez moi çà marchait pas. Le principal c'est que tu m'as donné la réponse à ma question.

    Merciiii
    le génie n'existe pas sans une pointe de folie

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2013, 15h57
  2. [RegEx] Retourner une array sur une partie de la chaine
    Par absurdsystem dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2010, 16h03
  3. Comment extraire les selections d'une combobox vers une feuille excel
    Par froggyaz dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/09/2008, 16h58
  4. Réponses: 1
    Dernier message: 04/04/2008, 12h14
  5. [C#] Comment extraire les parties d'une string ?
    Par mrpowerboy dans le forum C#
    Réponses: 3
    Dernier message: 21/02/2006, 09h10

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