Explode

cs_dridri Messages postés 11 Date d'inscription mardi 15 octobre 2002 Statut Membre Dernière intervention 25 février 2005 - 22 oct. 2002 à 17:52
cs_6Po Messages postés 105 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 22 janvier 2009 - 23 oct. 2002 à 19:15
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

cs_mehdibou Messages postés 365 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 18 octobre 2004
22 oct. 2002 à 18:16
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
cs_6Po Messages postés 105 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 22 janvier 2009
23 oct. 2002 à 10:06
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
slr Messages postés 75 Date d'inscription mercredi 23 octobre 2002 Statut Membre Dernière intervention 13 juillet 2004
23 oct. 2002 à 11:44
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
cs_6Po Messages postés 105 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 22 janvier 2009
23 oct. 2002 à 19:14
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_6Po Messages postés 105 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 22 janvier 2009
23 oct. 2002 à 19:15
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
Rejoignez-nous