![]() |
|
![]() |
|
|
Mis à jour le 22/09/2002
|
Droit de diffusion: Avant Propos : Dans n'importe quel langage le type qui revient le plus souvent, ou plutot qui est le plus manipulé est les Chaînes de caractères. Beaucoup d'opérations sont réalisées sur ces chaînes comme la concaténation, le découpage, le remplacement de caractères, etc. Ce tutorial est là pour faire un rappel de ce qui est faisable avec les String ainsi que les limites de ce type. Il est basé sur les différentes questions qui ont été posées sur le forum de developpez.com. Sommaire :
La première chose à savoir est qu'il existe 2 types de chaines
de caractères en VB. Les chaines de longueur fixe et les chaines de longueur
variable. Ces deux types de chaînes ont une limite de capacité différente
: Il existe deux méthodes pour concaténer les chaînes de caractères. Vous pouvez soit utiliser l'opérateur + soit l'opérateur &. Quelle est la différence en tre ces deux opérateurs ? La différence se trouve quand vous souhaitez concaténer plusieurs types différents dans une chaîne de caractères. Pour mieux comprendre voici un exemple.
Si vous souhaitez utiliser le + plutot que le & faites très attention à ce que vous souhaitez faire. De plus le & est plus rapide que le + pour la concaténation. Le cas présenté ci dessus est le plus simple. Vous pouvez concaténer le contenu de plusieurs variables.
Seulement il arrive, par exemple lors de la création de requête SQL, que votre ligne soit trop grande pour passer à l'écran,ce qui rend plus difficile la lecture. Vous pouvez donc écrire votre requête sur plusieurs ligne grâce au caractère _.
Cette technique a une limite car vous ne pouvez enchaîner plus de 25 lignes de cette façon. Il existe une deuxième solution qui est aussi souvent utilisée :
3. Suppression des blancs (espaces) : En VB, il existe deux fonctions permettant de supprimer les blancs en début et fin de chaîne. Ces deux fonctions sont LTrim et RTrim. LTrim permet de supprimer les espaces en début de chaîne. Par exemple :
Vous pouvez remarquer que l'espace après les points d'exclamation est toujours présent. Pour supprimer cet espace vous pouvez utiliser RTrim.
Pour enlever le espaces en début et fin de chaîne vous utiliseriez LTrim(RTrim(strMaChaine)). Ce n'est pas faux. Mais une autre fonction Trim fait exactement la même chose.
Enlever les espaces en trop en début et fin de chaîne c'est pratique mais comment enlever ceux contenu dans la chaîne. Rien de plus simple il suffit de remplacer tous les espaces par rien. Pour cela il faut utiliser la méthode Replace que nous verrons plus tard. 4. Rechercher une chaîne dans une chaîne : La rechercher d'une chaîne dans un autre est réalisée par la fonction InStr. Cette fonction permet à la fois de vérifier si la chaîne recherchée est bien présente, et si oui, alors elle retourne la position de la première itération de la chaîne recherchée. La fonction InStr s'utilise de la façon suivante: InStr([PositionDeDépart],Chaine1,Chaine2,[TypeDeComparaison]) PositionDeDépart : Entier indiquant à partir de quel caractère la recherche doit être réalisée (Facultatif). Par défaut c'est 1. Chaine1 : Chaine recherchée Chaine2 : Chaine sur laquelle s'effectue la recherche TypeDeComparaison : Indique le type de comparaison à faire (Facultatif).
Voici un exemple afin de mieux comprendre son fonctionnement :
5. Remplacer une chaîne par une autre : Cette fonction est souvent utilisée dans le cas de création de requêtes. Par exemple pour remplacer les simples côtes par des doubles côtes, des virugules par des points, des blancs par rien, etc. La fonction permettant de réaliser ce travail est la fonction Replace. Son utilisation est on ne peut plus simple. nouvelleChaine = Replace(actuelleChaine,ChaineARemplacer,ChaineAMettreALaPlace) L'exemple suivant va remplacer les virgules par des points :
6. Découper une chaîne de caractères : Il arrive que vous deviez traiter une ligne d'un fichier ou autre source
de données, en la découpant en fonction d'un séparateur. Une fonction
VB vous permet de faire cela : Split. Cette fonction s'utilise de la manière
suivante : monTab = Split(maChaine,monSéparateur). Comme vous pouvez le voir, la fonction Split retroune un tableau (de
base 0) qui contient dans chaque case les différents champs de votre
châine. Un petit exemple pour eclaicir tout ça :
Comme résultat vous obtiendrez un tableau à 3 cases (de 0 à 2) avec monTab(0)
= "Champ1", monTab(1)="Champ2", monTab(2)="Champ3". Le séparateur peut
être aussi long que vous le souhaitez. Split retournant un tableau est lui même un tableau. Donc pour récupérer
le premier élément vous pouvez écrire Split(maChaine,monSep)(0), pour
récupérer le n-ième élément vous faîtes Split(maChaine,monSep)(n-1), et
pour récupérer le dernier élément vous faites Split(maChaine,monSep)(UBound(Split(maChaine,monSep))) La première chose à laquelle il faut faire attention c'est la taille maximale de la chaîne comme je l'ai indiqué en introduction. La deuxième est comment insérer des doubles côtes dans une chaîne de caractères. Beaucoup de personnes bloquent sur ce problème. Donc maintenant plus d'excuses : Pour cela vous devez doubler les doubles côtes. Voici un petit exemple :
Remarque : |