Le langage Arduino :Les chaînes de caractères « string »

.

Mise à jour le 21/11/2019 : Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c’est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. Voici donc une chaîne de caractère ou string  => « bonjour »

.

Sommaire : 

  • Ensemble des fonctions pour la manipulation des chaines de caractères.
    • String(). Les chaînes de texte peuvent être représentées de deux manières. vous pouvez utiliser le type de données String, qui fait partie du noyau à partir de la version 0019, ou vous pouvez créer une chaîne à partir d’un tableau de type char et le mettre à zéro
    • charAt() . Accéde à un caractère particulier de la chaîne.
    • compareTo().Compare deux chaînes en vérifiant si l’une se situe avant ou après l’autre 
    • concat(). Concatène deux objets String en un seul nouvel objet String.
    • endsWith() .Teste si une chaîne se termine ou non par les caractères d’une autre chaîne.
    • equals() . Compare deux chaînes pour l’égalité. La comparaison est sensible à la casse, ce qui signifie que la chaîne « hello » n’est pas égale à la chaîne « HELLO ».
    • equalsIgnoreCase()
    • getBytes().Copie les caractères de la chaîne dans le tampon fourni.
    • indexOf() . Localise un caractère ou une chaîne dans une autre chaîne. Par défaut, les recherches sont effectuées depuis le début de la chaîne, mais peuvent également commencer à partir d’un index donné, ce qui permet de localiser toutes les occurrences du caractère ou de la chaîne.
    • lastIndexOf().Localise un caractère ou une chaîne dans une autre chaîne. Par défaut, les recherches sont effectuées à partir de la fin de la chaîne, mais peuvent également fonctionner à partir d’un index donné, ce qui permet de localiser toutes les occurrences du caractère ou de la chaîne.
    • length().Renvoie la longueur de la chaîne, en caractères. (Notez que cela n’inclut pas un caractère nul final.)
    • remove().Modifiez sur place une chaîne supprimant les caractères de l’index fourni jusqu’à la fin de la chaîne ou de l’index fourni pour indexer le nombre.
    • replace().La fonction String replace () vous permet de remplacer toutes les occurrences d’un caractère donné par un autre caractère. Vous pouvez également utiliser replace pour remplacer les sous-chaînes d’une chaîne par une autre sous-chaîne.
    • reserve().La fonction String reserve () vous permet d’allouer un tampon en mémoire pour manipuler des chaînes.
    • setCharAt().Définit un caractère de la chaîne. N’a aucun effet sur les index en dehors de la longueur existante de la chaîne.
    • startsWith()
    • substring. Extrait une sous-chaîne d’un objet String .
  • Opérateur d’ajout de chaîne. Vous pouvez ajouter des chaînes de différentes manières. Cela s’appelle la concaténation .
  • Exemple d’utilisation sous forme de programme  
  • Retour au menu -> le langage pour Arduino.

.

Retour au sommaire

.

separateur-redohm-001

Ensemble des fonctions pour la manipulation des chaines de caractères

– String() –

Les chaînes de texte peuvent être représentées de deux manières. vous pouvez utiliser le type de données String, qui fait partie du noyau à partir de la version 0019, ou vous pouvez créer une chaîne à partir d’un tableau de type char et le mettre à zéro.

Syntaxe :

Tous les éléments suivants sont des déclarations valides pour des chaînes.

char Str1[15];
char Str2[8] = {‘a’, ‘r’, ‘d’, ‘u’, ‘i’, ‘n’, ‘o’};
char Str3[8] = {‘a’, ‘r’, ‘d’, ‘u’, ‘i’, ‘n’, ‘o’, ‘\0’};
char Str4[] = « arduino »;
char Str5[8] = « arduino »;
char Str6[15] = « arduino »;

Possibilités de déclarer des chaînes

  • Déclarer un tableau de caractères sans l’initialiser comme dans Str1
  • Déclarez un tableau de caractères (avec un caractère supplémentaire) et le compilateur ajoutera le caractère nul requis, comme dans Str2.
  • Ajouter explicitement le caractère nul, Str3
  • Initialiser avec une constante de chaîne entre guillemets; le compilateur dimensionnera le tableau pour l’adapter à la constante de chaîne et à un caractère nul final, Str4
  • Initialiser le tableau avec une constante de taille et une chaîne explicites, Str5
  • Initialiser le tableau, en laissant un espace supplémentaire pour une chaîne plus grande, Str6

Terminaison de la chaine nulle

Généralement, les chaînes se terminent par un caractère nul (code ASCII 0). Cela permet aux fonctions (comme Serial.print()) de dire où se trouve la fin d’une chaîne. Sinon, ils continueraient à lire les octets de la mémoire suivants qui ne font pas réellement partie de la chaîne.

Cela signifie que votre chaîne doit avoir suffisamment d’espace pour un caractère de plus que le texte que vous souhaitez qu’elle contienne. C’est pourquoi Str2 et Str5 doivent comporter huit caractères, même si « arduino » n’en contient que sept – la dernière position est automatiquement remplie par un caractère nul. Str4 sera automatiquement dimensionné à huit caractères, un pour l’extra null. Dans Str3, nous avons explicitement inclus le caractère nul (écrit ‘\ 0’) nous-mêmes.

.

Retour au sommaire

.

separateur-redohm-001charAt() –

Accédez à un caractère particulier de la chaîne.

Syntaxe : myString.charAt(n)

Paramètres :

myString: une variable de type String.
n : une variable. Autorisé types de données: unsigned int.

Exemple de programme : 

.

Retour au sommaire

.

separateur-redohm-001

– compareTo() –

Compare deux chaînes en vérifiant si l’une se situe avant ou après l’autre, ou si elles sont égales. Les chaînes sont comparées caractère par caractère en utilisant les valeurs ASCII des caractères. Cela signifie, par exemple, que « a » vient avant « b » mais après « A ». Les chiffres viennent avant les lettres.

Syntaxe :

myString.compareTo(myString2)

Paramètres :

myString : une variable de type String. 
myString2: une autre variable de type String.

.

Retour au sommaire

.

separateur-redohm-001

– concat() –

Concatène deux objets String en un seul nouvel objet String.

La concaténation de deux chaînes de caractères consiste à les mettre bout à bout. Le terme peut désigner:

  • l’opération de concaténer ces chaînes,
  • le résultat de cette opération.

Exemple :

 

La concaténation des chaînes « bonjour » et  » RedOhm » donne « bonjour RedOhm ».

Syntaxe :

myString.concat(paramètre)

Paramètres : 

myString : une variable de type chaine de caractère
paramètre : Types de données autorisés , String, string, char, byte, int, unsigned int,  long, unsigned long, float, double,

.

Il y a plusieurs possibilités d’assembler des chaines entre elles

En additionnant les chaines de caracteres entre elles

Assembler plusieurs chaines de caractéres String - RedOhm -

Assembler plusieurs chaines de caractéres String – RedOhm –

 

 

 

 

.

On concatene les chaines de caracteres entre elles

.

 

Retour au sommaire

.

separateur-redohm-001

– indexOf() – 

Localise un caractère ou une chaîne dans une autre chaîne. Par défaut, les recherches sont effectuées depuis le début de la chaîne, mais peuvent également commencer à partir d’un index donné, ce qui permet de localiser toutes les occurrences du caractère ou de la chaîne.

Syntaxe :

myString.indexOf(val)
myString.indexOf(val, from)

Parameters

myString : une variable de type String.
val : la valeur à rechercher. Types de données autorisés: char, String.
from :  l’index à partir duquel lancer la recherche.

.

Retour au sommaire

.

separateur-redohm-001

– substring() –

Obtenez une sous-chaîne d’une chaîne. L’index de départ est inclusif (le caractère correspondant est inclus dans la sous-chaîne), mais l’index final facultatif est exclusif (le caractère correspondant n’est pas inclus dans la sous-chaîne). Si l’index de fin est omis, la sous-chaîne continue jusqu’à la fin de la chaîne.

Syntaxe :

myString.substring(from)
myString.substring(from, to)

Paramètres :

myString: une variable de type String

from: l’index pour démarrer la sous-chaîne à

to (facultatif): l’index pour terminer la sous-chaîne avant

.

Retour au sommaire

.

separateur-redohm-001

Exemple 1 : Utilisation de la fonction substring et length

Voici un exemple de programme qui traite sur la manipulation des chaînes de caractères. Dans notre exemple , nous allons apprendre à compter le nombre de lettres dans une phrase. Comment transférer la valeur récupérait dans une variable. Comment extraire un caractère dans une chaîne de caractères «  une phrase » avec la fonction substring . Et enfin , comment faire apparaître une chaîne de caractères en affichant les lettres une à une et ceci sur le moniteur de IDE Arduino .

 

 

.

Retour au sommaire