Right et left

cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention - 7 avril 2017 à 16:03 - Dernière réponse : scoob79 27 Messages postés mercredi 20 janvier 2010Date d'inscription 5 septembre 2018 Dernière intervention
- 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

vb95 1669 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 24 septembre 2018 Dernière intervention - 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
cs_DAN1 78 Messages postés samedi 12 avril 2003Date d'inscription 19 juillet 2017 Dernière intervention - 7 avril 2017 à 18:26
0
Merci
Bonjour et merci lesVB 95.
Ton explication est claire précise je t'en remercie.
A+.
Dan

--
vb95 1669 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 24 septembre 2018 Dernière intervention - 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
Whismeril 12032 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 septembre 2018 Dernière intervention - 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
scoob79 27 Messages postés mercredi 20 janvier 2010Date d'inscription 5 septembre 2018 Dernière intervention - 10 août 2018 à 13:19
0
Merci
plus simple

Res = Chaine.Substring(10)
Whismeril 12032 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 septembre 2018 Dernière intervention - 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)
Whismeril 12032 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 septembre 2018 Dernière intervention > 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.
scoob79 27 Messages postés mercredi 20 janvier 2010Date d'inscription 5 septembre 2018 Dernière intervention - 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.