OVH Cloud OVH Cloud

Récupérer partie d'une chaine de caractères

8 réponses
Avatar
debdrai
Salut =E0 tous

Je r=E9cup=E8re actuellement la variable d'un champ sous cette forme:

Nom de la rue / nom de la ville

Je veux simplement r=E9cup=E9rer le nom de la rue, donc tous les
caract=E8res jusqu'au /, mais je ne sais bien sur jamais la longueur du
nom de la rue demand=E9e par mon usager. Quelqu'un saurait-il comment
faire ?

Merci d'avance !Deb

8 réponses

Avatar
Sacha
Bonjour,

Avec la fonction "Find" pour retrouver le caractère "/" et prendre la partie
de gauche ou de droite avec la fonction "Right" ou "Left".

Sacha
wrote in message
news:
Salut à tous

Je récupère actuellement la variable d'un champ sous cette forme:

Nom de la rue / nom de la ville

Je veux simplement récupérer le nom de la rue, donc tous les
caractères jusqu'au /, mais je ne sais bien sur jamais la longueur du
nom de la rue demandée par mon usager. Quelqu'un saurait-il comment
faire ?

Merci d'avance !Deb
Avatar
debdrai
Bonjour Sacha

Je te remercie beaucoup de ta réponse mais j'avoue etre un peu
perplexe. Je ne trouve en effet nul part la fonction Find... Es-tu sur
que ca marche en VB.NET, et pas seulement en VB ? Sinon, peut-etre ma
syntaxe est-elle mauvaise ? Peux-tu me donner un exemple ?

Merci ! Deb
Avatar
Stephane TUET
Je n'ai jamais utilisé la fonction Find, mais tu as la fonction InStr qui
t'indique la position de la première occurence du caractère que tu
recherches dans ta chaine, et ensuite tu peux utiliser Right ou Left.

Steph

a écrit dans le message de news:

Bonjour Sacha

Je te remercie beaucoup de ta réponse mais j'avoue etre un peu
perplexe. Je ne trouve en effet nul part la fonction Find... Es-tu sur
que ca marche en VB.NET, et pas seulement en VB ? Sinon, peut-etre ma
syntaxe est-elle mauvaise ? Peux-tu me donner un exemple ?

Merci ! Deb
Avatar
Fred
Dans le message:,
écrit:
Bonjour Sacha

Je te remercie beaucoup de ta réponse mais j'avoue etre un peu
perplexe. Je ne trouve en effet nul part la fonction Find... Es-tu sur
que ca marche en VB.NET, et pas seulement en VB ? Sinon, peut-etre ma
syntaxe est-elle mauvaise ? Peux-tu me donner un exemple ?

Merci ! Deb



Bonjour,
Au cas où Sacha ne serait pas dans le coin :-)
Find n'est pas une fonction 'autonome', c'est une des méthodes des
objets String.

Dim s as String
s.Find ....

Ceci dit, tu peux aussi utiliser la méthode Split pour ton problème
Dim sAdr as String
Dim sRueVille() as String 'tableau

sRueVille = sAdr.Split("/")
MsgBox sRueVille(0) 'le premier élément du tableau contient ce qui se
trouve avant le /
MsgBox sRueVille(1) 'le second élément du tableau contient ce qui se
trouve après le /


--
Fred
Avatar
debdrai
Salut Fred, salut Sacha,

Un grand merci à tous les deux pour votre aide ! Dans mon cas, c'est
la méthode de Fred qui a marché, et ça m'a fait gagner beaucoup,
BEAUCOUP de temps...

Deb
Avatar
Sacha
Bonjour,

Et bien voila!!!!

Pour la méthode Find j'ai été un peut vite en besogne , suis encore imbibé
de VBA :-)

Sacha
wrote in message
news:
Salut Fred, salut Sacha,

Un grand merci à tous les deux pour votre aide ! Dans mon cas, c'est
la méthode de Fred qui a marché, et ça m'a fait gagner beaucoup,
BEAUCOUP de temps...

Deb
Avatar
Alan
ils sont tous nuls...

Dim NomRue as string = MaString.Split("/")(0)
Dim NomVille as String = MAString.Split("/")(1)
La Fonction split retourne un tableau, en coupe ta chaine. Si tu as plus
d'un / dans ta chaine, il retournera autant de chaine que nécessaire....
Attention, si il n'y a pas de / , la deuxieme ligne lèvera une exception
"" a écrit :

Salut à tous

Je récupère actuellement la variable d'un champ sous cette forme:

Nom de la rue / nom de la ville

Je veux simplement récupérer le nom de la rue, donc tous les
caractères jusqu'au /, mais je ne sais bien sur jamais la longueur du
nom de la rue demandée par mon usager. Quelqu'un saurait-il comment
faire ?

Merci d'avance !Deb




Avatar
Fred
Dans le message:,
Alan écrit:
ils sont tous nuls...



Merci,


Dim NomRue as string = MaString.Split("/")(0)
Dim NomVille as String = MAString.Split("/")(1)



Soit la copie conforme de ce qui a été proposé il y a déjà 2 mois.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT