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

VB.NET Discussion :

[2.0] Split sur une chaîne et non un tableau de caractères


Sujet :

VB.NET

  1. #1
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut [2.0] Split sur une chaîne et non un tableau de caractères
    Salut,

    Comment peut-on découper une chaîne de caractères en utilisant non pas un caractère, mais une chaîne de caractères en guise de séparateur?

    En effet,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "val j'essaie val encore".split("val")
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "val j'essaie val encore".split("v")
    retournent le même tableau (enfin à vue de nez pour cet exemple). Or je souhaite bel et bien découper sur "val" et non pas "v".

    Merci par avance.

  2. #2
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 40
    Points
    40
    Par défaut


    Intellisense indique que le split accepte une chaine de caractère en entrée, donc .split("val") est OK, perso pas testé.

    Sinon, de façon rapide pour te décoincer, tu peux remplacer val par * puis split sur *

    mais bon c'est pas optimisé, mais ça marche aussi.

  3. #3
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    La fonction split marche tres bien avec des chaines, dans l'exemple donne il est normal que le split sur "v" ou "val" se fasse au meme endroit puisque les seuls "v" presents dans la chaine sont presents aussi dans les "val". Par contre les chaines renvoyees ne devraient pas etre les memes, il devrait y avoir "al" en plus au debut de chaque chaine retrounee par un split sur "v"

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Et pourtant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim s = "val j'essaie val encore"
    Dim tab As String() = s.Split("val")
    s = ""
    For i As Integer = 0 To tab.Length - 1
    	s &= tab(i) & "##"
    Next
    MsgBox(s)
    retourne
    ##al j'essaie ##al encore##
    . Split() découpe une chaîne suivant un tableau de caractères et non une chaîne.

  5. #5
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Et bien essaie ca et dis moi ce que ca retourne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim s = "val j'essaie val encore"
    Dim tab AsString() = Split(s, "val")
    s = ""
    For i AsInteger = 0 To tab.Length - 1
    s &= tab(i) & "##"
    Next
    MsgBox(s)
    

  6. #6
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Ah ben oui... split() de VB et non pas de l'objet string...

    Merci pour votre aide.

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

Discussions similaires

  1. Split sur une image non multiple de 2
    Par byakuichi dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 29/03/2011, 15h56
  2. Réponses: 2
    Dernier message: 14/01/2009, 09h55
  3. Réponses: 8
    Dernier message: 29/08/2006, 10h22
  4. Tri sur une chaîne de caractères contenant des nombres
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2006, 11h52
  5. Requête sur une chaîne de caractères
    Par Hakunamatata dans le forum Langage SQL
    Réponses: 9
    Dernier message: 02/04/2006, 18h27

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