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 :

Comment modifier une chaine de caracteres ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut Comment modifier une chaine de caracteres ?
    bonsoir !!
    voila j'ai une chaine de caracteres qui contient trois mots ch=" Ja1 Ja2 Ja3".
    j'aimerais remplacer un mot par une autre chaine par exemple remplacer Ja2 par bbbb. donc la j'ai entendu parler que je ne peux pas travailler directement avec la class string !!!! par contre je dois utiliser la class stringbuilder ??? mais la je ne sais pas comment faire ! est ce que je dois faire :
    stringbuilder ch = new stringbuilder(" Ja1 Ja2 Ja3"); en suite je mets ch.Append ... desole je ne connais pas la suite !!! qu'est ce que je dois faire ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu peux tout à fait utiliser la classe String... par contre une chaine n'est pas modifiable, donc en fait tu crées une nouvelle chaine modifiée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string ch2 = ch.Replace("Ja2", "bbbb");
    Tu peux même enchainer les Replace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string ch2 = ch.Replace("Ja2", "bbbb").Replace("Ja3", "cccc").Replace.... ;

  3. #3
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Fais attention avec les Replace à ce que la chaine à remplacée ne soit pas contenue dans une autre style Ja1, Ja11...
    Dans ce cas, et si tu sais par quel caractère sont séparées tes chaines, travaille avec un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string s1 = "Ja1 Ja11 Ja2 Ja22";
    string s2;
    s2 = s1.Split(' ')[0]; //s2 = Ja1

  4. #4
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Ouais, chus pas encore bien réveillé...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          string s1 = "Ja1 Ja11 Ja2 Ja22";
          string[] s2;
          s2 = s1.Split(' ');
          s2[0] = "Ja3";
          s1 = string.Join(" ", s2); //s1 = Ja3 Ja11 Ja2 Ja22
    Et avec le Replace, toujours si tu connais le car de séparation entre tes chaines :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string ch2 = ch.Replace(" Ja2 ", " bbbb ");
    en ajoutant l'espace avant et après les chaines...

  5. #5
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !!
    quand j'utilise un tableau, je dois d'abord connaître la position du mot comme tu as mis par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     s2 = s1.Split(' ')[0]; //s2 = Ja1
    donc la tu lui donnes la position 0 !!! mais moi je ne connais pas les positions !!

  6. #6
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !!
    j'ai trouvé une petite solution pour régler ce problème, au fait mercii ppphil de me l'avoir signaler, au départ j'ai pas fait attention merci !!!
    maintenant ma petite solution je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    string s="Ja1 Ja11 Ja2 Ja22";
     
    if (s[s.indexOf[Ja1]+"Ja1".length]==" ") //j'ai mis .length pour n'importe quelle chaîne mais je ne sais pas si C# compte "\0" si c'est le cas alors length+1
    string s2 = s.Replace("Ja1", "bbbb");
    voila c'est un peu long mais plus sur je pense !!!
    a+

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2007, 13h14
  2. Comment incrementer une chaine de caracteres
    Par KeZyX dans le forum C++
    Réponses: 7
    Dernier message: 04/06/2007, 08h34
  3. Réponses: 10
    Dernier message: 16/06/2006, 13h53
  4. comment chercher une chaine de caractere
    Par phpaide dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2006, 12h12
  5. Réponses: 3
    Dernier message: 12/05/2006, 10h53

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