<< Retour au sommaire

 

Fonctions de traitement de chaînes de caractères

 

 

 

Table des matières

1.      StringContains, Rechercher une sous chaîne dans une chaîne ;

2.      StringLength, obtenir la longueur d’une chaîne ;

3.      IntToString, convertir un entier en une chaîne ;

4.      StringToInt, convertir une chaîne en un entier ;

5.      StringLower, change la casse, convertit les majuscules en minuscules ;

6.      StringUpper, change la casse, convertit les minuscules en majuscules ;

7.      StringLeft, extraire une chaîne à partir de la gauche ;

8.      StringRight, extraire une sous chaîne à partir de la droite.

 

StringContains, rechercher une sous chaîne dans une chaîne

 

La fonction « StringContains » permet de rechercher une sous chaîne de caractères à l’intérieure d’une chaîne de caractères. Si la sous chaîne est trouvée, la fonction « StringContains » renvoie la position du premier caractère de « sous chaîne » dans « Chaîne ».

 

La Syntaxe :

Let Position = StringContains (« Chaîne », »Sous Chaîne »)

 

La description :

·        « Position » est une variable de type entier « Int » qui récupère la position du premier caractère de « sous chaîne » dans « Chaîne ».

-                    Si « Sous Chaîne » n’est pas trouvée, « Position » reçoit la valeur 0.

 

·        « Chaîne » est le premier paramètre de la fonction, il est le texte dans lequel la recherche doit être réalisée. « 

Chaîne » peut être directement du texte placé entre guillemets, mais aussi une variable ou une constante de type « String ».

 

·        « Sous Chaîne » est le second paramètre de la fonction, il est le texte à rechercher.

Tout comme Chaîne », « Sous Chaîne » peut être directement du texte placé entre guillemets, mais aussi une variable ou une constante de type « String ».

 

 Un exemple :

 

Voici un exemple qui doit être réalisé dans un logiciel de traitement de texte.

Nous allons créer un script qui demande à l’utilisateur de saisir du texte afin que ce texte soit recherché dans la ligne courante.

 

Script ChercherPositionMotDansLigne ()

; déclaration des variables

Var String Chaine, ; Contiendra la chaîne de caractères à rechercher

    Int Position, ; contiendra la position de la chaîne à rechercher dans la ligne courante

String Ligne; ; Contiendra la ligne courante dans le bloc notes

; Affectation de la ligne courante dans la variable Chaine

Let Ligne = GetLine ();

/* Attention, dans le If qui suit, nous allons réaliser plusieurs contrôles dans la boîte de message InputBox.

La boîte de message est ouverte, pour que le If retourne "vrai", il faut que le bouton "Ok" soit validé et que une saisie ait été réalisée. */

If InputBox("Saisissez la chaîne de caractères à rechercher dans la ligne courante ","Recherche",Chaine) && Chaine != "" Then

 ; Ok, nous pouvons réaliser la recherche

 Let Position = StringContains (Ligne,Chaine);

 If Position > 0 Then

  ; La chaîne de caractères a été trouvée

  SayString ("La position de la chaîne de caractères "+Chaine+" dans la ligne est "+IntToString (Position))

 Else

  ; La chaîne de caractères n'a pas été trouvée

  SayString ("La chaîne est introuvable")

 EndIf

Else

 ; L'utilisateur n'a rien saisi ou il a annulé la boîte de message

 SayString ("Erreur, opération annulée ou saisie incorrecte")

EndIf 

 

EndScript

 


StringLength, obtenir la longueur d’une chaîne

 

Cette fonction retourne un entier qui correspond à la longueur de la chaîne de caractères passée en paramètre.

 

La Syntaxe :

StringLength (Chaîne)

 

La description :

·        La chaîne peut être une variable, une fonction ou une chaîne de caractères placée entre guillemets.

Par exemple, la formule suivante lit le nombre de caractères pour le mot sur lequel se trouve le curseur actif :

SayInteger (StringLength (GetWord ()))

 

IntToString, convertir un entier en une chaîne

 

IntToString = Convertit l’entier passé en paramètre en une chaîne de caractères.

 

La syntaxe :

IntToString (Entier)

 

La description :

·        Entier est le paramètre, il s’agit de l’entier qui doit être converti en un String.

 

A titre d’exemple, si les variables Entier1, Entier2 et Resultat étaient des intégraux, on pourrait écrire ceci :

Let Resultat = Entier1 + Entier2

SayString (« Le résultat de l’addition est : « +IntToString (Resultat)+ »n’est-ce pas ? « )

 

StringToInt, convertir une chaîne en un entier

 

Convertit une chaîne de caractères en un entier.

Cette fonction est l’inverse de IntToString.

 

La syntaxe :

StringToInt (chaîne)

 

La description :

·        Chaîne est un String, il s’agit d’un texte alphanumérique composé uniquement de chiffres.

 

StringLower, change la casse d’une chaîne, convertit les majuscules en minuscules

 

Cette fonction retourne un « String » qui correspond à la chaîne de caractères passée en paramètre mais convertie en minuscule.

Let Login = StringLower (login)

 

StringUpper, change la casse d’une chaîne, convertit les minuscules en majuscules

 

Cette fonction retourne un « String » qui correspond à la chaîne de caractères passée en paramètre mais convertie en majuscule.

Let MonNom= StringUpper (MonNom)

 


StringLeft, extraire une sous chaîne à partir de la gauche

 

La fonction « StringLeft » extrait une sous chaîne dans un texte dont la longueur est passée en paramètre.

 

La syntaxe :

Let Variable = StringLeft (« texte »,Longueur)

 

La description :

 

Voici un exemple qui demandera à JAWS de lire les 4 premières lettres de votre prénom :

 

Script Afficher4LettresGauches ()

 

; Déclaration d'une variable Prenom

Var String Prenom

 

; Demande à l'utilisateur son prénom

If InputBox ("Quel est ton prénom ? ","Question",Prenom) Then

  ; l'utilisateur a bien saisi son prénom

  ; Extraction des 4 premières lettres du prénom

  Let Prenom = StringLeft (Prenom,4)

  ; Lecture du résultat de l'extraction

  SayString (Prenom)

Else

  ; L'utilisateur a annulé la saisie de son prénom

  MessageBox ("Coquin !")

EndIf

EndScript

 


StringRight, extraire une sous chaîne à partir de la droite

 

Pour extraire à partir de la droite d’un texte, la fonction est « StringRight »…

La syntaxe est ensuite identique à « StringLeft »…

 

Voici un exemple qui prononcera les 4 dernières lettres d’un prénom :

 

Script Afficher4LettresDroite ()

 

; Déclaration de la variable qui va contenir votre prénom

Var String Prenom

; Demande à l'utilisateur son prénom

If InputBox ("Quel est votre joli Prénom ? ","Question indiscrète et gonflée",Prenom) Then

  ; l'utilisateur a répondu à la question

  ; Extraction des 4 dernières lettres du prénom

  Let Prenom = StringRight (Prenom,4)

  ; JAWS va prononcer le résultat de l'extraction

  SayString (Prenom)

Else

  ; L'utilisateur n'a pas répondu à la question

  MessageBox ("Idiot !")

EndIf

EndScript

 

Philippe BOULANGER