Right et left

Messages postés
78
Date d'inscription
samedi 12 avril 2003
Dernière intervention
19 juillet 2017
- 7 avril 2017 à 16:03 - Dernière réponse :
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Dernière intervention
5 septembre 2018
- 13 août 2018 à 10:04
Bonjour à tous .

Malgré le passage@visuelbasic.net je continue à utiliser les fonctions vb.right et vb.left provenant de VB 6.

J'ai bien compris qu'il existe l'instruction suivante :
qui me permet de récupérer les quatre premiers caractères de dd = test.Substring(4)

Et si j'ai tout compris pour récupérer les quatre derniers caractères de droite il faudrait que je saisisse
dd = test.Substring(5,4)
si je considère que la zone test comprend neuf caractères.
N'y aurait-il pas quelque chose de plus simple pour récupérer les X ce dernier caractère de droite ?
Je sais bien que ma question est un peu basique mais je ne comprends pas pourquoi on n'a pas pu conserver les anciennes instructions left et Right

D'avance merci de votre aide





--
Afficher la suite 

Votre réponse

9 réponses

Messages postés
1706
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 7 avril 2017 à 17:30
0
Merci
Bonjour
La méthode Substring a deux paramètres
- le premier indique la position du premier caractère de la sous-chaine à prendre comme résultat ( attention les positions commencent à 0)
- le second paramètre ( optionnel) indique le nombre de caractères à prendre en compte pour le résultat . Si ce paramètre est omis tout le reste de la chaine à partir de la position du premier caractère est prise en compte .
Ainsi
Dim chaine as String = "Visual Studio"
Dim SousChaine as String = Chaine.Substring(4) renvoit "al Studio"
Dim SousChaine as String = Chaine.Substring(8) renvoit "Studio"
Dim SousChaine as String = Chaine.Substring(2,4) renvoit "sual"
Dim SousChaine as String = Chaine.Substring(0,6) renvoit "Visual"

Maintenant si l'on sait connait pas la longueur de la chaine on peut se servir de la propriété Length qui renvoie le nombre de caractères de la chaine pour avoir la position de départ de la sous-chaine .
Dim SousChaine as String = Chaine.Substring(Chaine.Length - 4) renverra toujours les 4 derniers caractères de la chaine Chaine quelle que soit sa longueur ( il est évident que la chaine ne peut être d'une longueur inférieure à 4 sinon ça plante )

Maintenant pourquoi ne pas avoir gardé Left et Right de VB 6 : sûrement pour uniformiser avec C# qui utilise aussi la méthode Substring ( et n'oublions aussi que C# et VB NET dans la suite Visual Studio utilise le même FrameWork : la bibliothèque de classes autour de laquelle s'articule Visual Studio Net)
Commenter la réponse de vb95
Messages postés
78
Date d'inscription
samedi 12 avril 2003
Dernière intervention
19 juillet 2017
- 7 avril 2017 à 18:26
0
Merci
Bonjour et merci lesVB 95.
Ton explication est claire précise je t'en remercie.
A+.
Dan

--
Messages postés
1706
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 7 avril 2017 à 20:30
Je t'invite à clôturer le sujet avec le bouton "Marquer comme Résolu"
Au plaisir d'aider sur le site
Commenter la réponse de cs_DAN1
Messages postés
12263
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 7 avril 2017 à 23:26
0
Merci
Bonsoir,

cela vient peut être aussi du fait qu'en Basic, la string n’était pas traitée comme dans de nombreux autres langages, à savoir un hybride entre une variable à part entière et un tableau de caractères
Dim toto As Char = "Coucou"(3)

toto vaut "c"c

On peut donc y appliquer tous les outils des collections
Dim envers As String = String.Join("", "Coucou".Reverse())

envers vaut "uocuoC"
Commenter la réponse de Whismeril
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Dernière intervention
5 septembre 2018
- 10 août 2018 à 13:19
0
Merci
plus simple

Res = Chaine.Substring(10)
Messages postés
12263
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 10 août 2018 à 14:03
Et Bonjour c'est trop dur à écrire?
C'est justement substring qu'il voulait éviter d'utiliser à l'époque....
au plus simple j'étais au travaille
PS : bonsoir
PS2 : sinon vous et moi venons de perdre tu temps (Temps = argent pour le gens qui travaille)
Messages postés
12263
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 novembre 2018
> Pseudo... - 11 août 2018 à 10:24
Non moi je n'ai pas perdu de temps....
Ça fait parti de mon bénévolat de Contributeur, d'essayer de mettre de l'ordre dans les discussions.
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Dernière intervention
5 septembre 2018
- 13 août 2018 à 10:04
Tant bien vous fasse
Commenter la réponse de scoob79

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.