Explode

Signaler
Messages postés
11
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
25 février 2005
-
Messages postés
105
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
22 janvier 2009
-
Bonjour,
Je me suis mis au VB il y a peu avant je programmais en PHP.
Seulement je n'arrive pas à trouver une fonction similaire à explode en VB.
J'explique pourquoi, j'ai une adresse e-mail et je voudrais pouvoir prendre la valeur qui se trouve avant le @. En php cela se fait de cette manière :
$TabPseudo = explode("@", $email)
ca construit un tableau et la premiere valeur du tableau correspond à ce qui se trouve avant le @.
QQn connaitrait une fonction similaire en VB ?
Merci bcp.
Adrien

5 réponses

Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

Tout simplement avec Instr()
qui permet de répurer la position de la première occurence d'une chaine dans une autre

Syntaxe 1 :
InStr( [début,] expr-chaîne1, expr-chaîne2)

Syntaxe 2 :
InStr(début, expr-chaîne1, expr-chaîne2, comparer)

@+ et bonne prog (note:le PHP est vraiment puissant !!!)

Mehdi
0
Messages postés
105
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
22 janvier 2009

Il faut utilise le InStr comme a dit mehdibou pour trouver la position du @ dans ta chaine.

Ensuite tu dois utiliser la fonction Mid pour recupere les valeurs avant.

Mid(chaine, debut, [taille])

taille est facultatif, si tu le mes pas ca irra jusque a la fin de la chaine.

Donc dans ton exemple du doit aller de

de la lettre 1 au position(@-1) pour avoir le texte avant le @

et position(@+1) -> fin pour le texte avec le @.

avant = mid(chaine, 1, Instr(chaine, "@"))
apres = mid(chaine, Instr(chaine, "@"))

Je suis pas sur de la syntaxe de Instr(chaine, "@")
ou Instr("@", chaine) je sais plus l'ordre des paramètres et j'ai pas vb sur le poste ici.

Si Instr retourne 0 c'est qu'il n'y a pas de @ dans ta chaine.

==============
6Po

DreamersTeam HomePage
[mailto:6po@dreamersteam.org Email]
0
Messages postés
75
Date d'inscription
mercredi 23 octobre 2002
Statut
Membre
Dernière intervention
13 juillet 2004

bon, je ne suis pas sûr de ce que tu veux faire, mais voici un exemple qui, d'après ce que j'ai compris, correspond plus à tes besoins :

dim st as string
dim T() as string

st="xxxx@yyyy"
T=split(st,"@")
x=T(0)
'Renvoie "xxxx"
y=T(1)
'Renvoie "yyyy"

à la différence du Instr, tu n'as pas besoin de repérer les longueurs de chaine ni d'utiliser Mid.

bonne prog
slr
0
Messages postés
105
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
22 janvier 2009

Merci slr :big)

Meme apres 3 ans de VB j'avais jms vu
la fonction SPILT

==============
6Po

DreamersTeam HomePage
[mailto:6po@dreamersteam.org Email]
0
Messages postés
105
Date d'inscription
jeudi 16 mai 2002
Statut
Membre
Dernière intervention
22 janvier 2009

Merci slr :big)

Meme apres 6 ans de VB j'avais jms vu
la fonction SPILT

==============
6Po

DreamersTeam HomePage
[mailto:6po@dreamersteam.org Email]
0