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 :

[C#] Comment Splitter une string avec une string ?


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [C#] Comment Splitter une string avec une string ?
    Je cherche a splitter une chaine du style "8-%20-blob"
    et je voudrais splitter selon la chaine "-%20-"

    Afin de récupérer d'un coté : "8" et de l'autre "blob"

    Tout est dans le titre ^^ Comment faire ?

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par ADJ Design
    Je cherche a splitter une chaine du style "8-%20-blob"
    et je voudrais splitter selon la chaine "-%20-"

    Afin de récupérer d'un coté : "8" et de l'autre "blob"

    Tout est dans le titre ^^ Comment faire ?

    Comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Dim c As String = "8-%20-blob"
            Dim Sep() As String = {"-%20-"}
            Dim p() As String = c.Split(Sep, StringSplitOptions.None)
    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    et en C# ?

    j'ai tenté ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sRecu = "8-%20-blob"
    string sep = "-%20-";
    string[] tabRecu = sRecu.Split(sep,StringSplitOptions.None);

    Mais ca marche pas trop

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Effectivement si vous aviez correctement titré votre message on aurait pu vous dire que ce n'est pas possible par cette voie en C#
    Il vous faut donc passer par les expressions régulière gérées en .Net via System.Text.RegularExpressions

  5. #5
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84
    Par défaut
    et un truc dans le style ca donne quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string[] mots = mot.Split("-%20-",RemoveEmptyEntries);

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par anto
    et un truc dans le style ca donne quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string[] mots = mot.Split("-%20-",RemoveEmptyEntries);

  7. #7
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84
    Par défaut
    j'avais oublié ça

    string[] mots = mot.Split("-%20-",StringSplitOptions.RemoveEmptyEntries);

    par contre je ne suis pas sur de la syntaxe mais je pense que c'est possible en regardant de plus près la fonction string.split()

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par anto
    j'avais oublié ça

    string[] mots = mot.Split("-%20-",StringSplitOptions.RemoveEmptyEntries);

    par contre je ne suis pas sur de la syntaxe mais je pense que c'est possible en regardant de plus près la fonction string.split()
    J'en doutes, mais bon je suis pas infaillible
    sinon on peut bricoler avec replace pour transformer la chaine séparatrice en un seul caractère imposé qu'on utilise après pour le split

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par neguib
    J'en doutes, mais bon je suis pas infaillible
    sinon on peut bricoler avec replace pour transformer la chaine séparatrice en un seul caractère imposé qu'on utilise après pour le split
    Et non tu n'est pas infaillible car il n'y a pas de soucis pour employer String.Slit en C# (ca fait pas parti de VB mais bien du type String).

    La bonne syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                string sRecu = "8-%20-blob";
                string[] sep = { "-%20-" };
                string[] tabRecu = sRecu.Split(sep,StringSplitOptions.None);
    Le truc nul c'est qu'il n'y a pas de surcharge permetant de ne passer qu'un seul séparateur en string. Il faut obligatoirement passer par un tableau de string.

    Sinon comme tu le disais le regex aussi une trés bonne solution.

  10. #10
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Excellent !! Ca marche a 100% Bravo !!
    Merci à tous de votre participation !!

  11. #11
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Kikos31
    car il n'y a pas de soucis pour employer String.Slit en C# (ca fait pas parti de VB mais bien du type String)
    là faut pas pousser, ce n'est parce que tu n'as pas compris ce que je voulais dire qu'il faut aussi dire n'importe quoi sur ma propre compréhension du sujet, je connais les surcharges de String.Split et je sias faire la diférence entre un framework et un langage
    mais seul VB (Microsoft.VisualBasic) possède une fonction spécifique qui peut directement utiliser une string comme séparateur

  12. #12
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par neguib
    là faut pas pousser, ce n'est parce que tu n'as pas compris ce que je voulais dire qu'il faut aussi dire n'importe quoi sur ma propre compréhension du sujet, je connais les surcharges de String.Split et je sias faire la diférence entre un framework et un langage
    mais seul VB (Microsoft.VisualBasic) possède une fonction spécifique qui peut directement utiliser une string comme séparateur
    Désolé, j'ai effectivement mal compris ta réponse... pas la peine de me , je disais ça gentillement.

    Même si tu t'étais gourré, ça n'aurait pas été dramatique non ? Moi même j'ai répondu a coté hier dans un post BackGroundWorker , sur 5000 messages t'as bien te planter quelques fois ?

  13. #13
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Kikos31
    Désolé, j'ai effectivement mal compris ta réponse... pas la peine de me , je disais ça gentillement.

    Même si tu t'étais gourré, ça n'aurait pas été dramatique non ? Moi même j'ai répondu a coté hier dans un post BackGroundWorker , sur 5000 messages t'as bien te planter quelques fois ?
    oh oui plus d'une fois

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. Réponses: 5
    Dernier message: 18/07/2006, 15h32
  5. Réponses: 2
    Dernier message: 29/03/2004, 13h44

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