Qu'est-ce qu'un string ? Comment faire des opérations ? Comment convertir un nombre en entier ?

Introduction

Les variables string permettent de stocker des chaînes de caractères dans vos programmes. Dans un string vous pouvez stocker tout type de caractère Ascii. Grâce à ce type de variable, vous pourrez écrire des messages par exemple.

Voici comment on déclare un string :

String string_site = "Arduino Factory";  

Qu'est ce que la table ASCII ?

La table ASCII est l’ensemble des caractères que vous pouvez utiliser dans votre string. Voici un tableau qui résume tous ces caractères :

Dans ce tableau qui peut faire peur au début, c’est la colonne des char que l’on va utiliser. En effet, dans cette colonne, vous trouverez tous les caractères que vous pouvez mettre dans votre variable.

Quelle est la différence entre un char et un string ?

Les variables char ou string sont assez similaire : elles permettent toute les deux de stocker des chaînes de caractères. Néanmoins les variables char sont plus utilisé pour stocker un caractère ou bien pour accéder à un caractère dans une chaîne. Alors qu’une variable string est plus utilisé pour stocker plusieurs caractère et faire des opérations dessus, comme les concaténer par exemple.

On verra à la fin comment convertir un string en char.

Opération sur les strings

On va maintenant voir différente opération que l’on peut faire sur les strings :

A) Trouver la place d’un élément dans un string

Voici comment connaître la place d’un élément dans un string :

votre_string.indexOf("votre caractère");

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";  
void setup() {
  Serial.begin(9600);
  Serial.print("La position du caractere r est :");
  Serial.println(string_site.indexOf("r"));// retourne 1 car r se trouve à la position 1 de notre string
}

void loop() {
}

Si la valeur n’est pas trouvée dans votre string, le programme retourne -1.

B) La taille de votre string

On va maintenant comment connaître la taille de votre string :

votre_string.length();

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";  
void setup() {
  Serial.begin(9600);
  Serial.print("la taille de votre string est :");
  Serial.println(string_site.length());// retourne 15 
}

void loop() {
}

C) Comparer deux strings

On va maintenant voir comment comparer deux chaînes de caractère ensemble :

mon_string_1.compareTo(mon_String_2);

Voici les retours possiblent de cette fonction :

  • Le nombre 0 est retourné si les deux chaînes de caractères sont identiques.
  • Un nombre négatif est donné si mon_string_1 est placé devant celle de mon_string_2.
  • Un nombre positif est donné si mon_string_2 est placé devant celle de mon_string_1.

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_Arduino = "Arduino";  
String string_Factory = "Arduino";  
void setup() {
  Serial.begin(9600);
  Serial.print("Les deux chaines sont elles identique ? :");
  Serial.println(string_Arduino.compareTo(string_Factory));// retourne 0 car identique
}

void loop() {
}

D) Remplacer un des éléments du string

On va maintenant voir comment remplacer un string par un autre  :

votre_string.replace("le_caractere_dans_le_string", "le_nouveau_string");

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";   
void setup() {
  Serial.begin(9600);
  string_site.replace("A", "le_nouveau_string");
  Serial.println(string_site); // On obtient ceci :le_nouveau_stringrduino Factory
}

void loop() {
}

Voici ce que l’on obtient : “le_nouveau_stringrduino Factory”.

E) Comment mettre votre chaîne de caractère en majuscule

On va maintenant voir comment mettre votre chaîne de caractère en masjucule :

votre_string.toUpperCase();

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";   
void setup() {
  Serial.begin(9600);
  string_site.toUpperCase();
  Serial.println(string_site); // On obtient ceci : ARDUINO FACTORY
  }
 void loop () {
     
 }

F) Comment mettre votre chaîne de caractère en minuscule

On va maintenant voir comment mettre votre chaîne de caractère en minuscule :

votre_string.toLowerCase();

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";   
void setup() {
  Serial.begin(9600);
  votre_string.toLowerCase();
  string_site.toLowerCase();
  Serial.println(string_site); // On obtient ceci :

Convertir un string en float, int ou char

On va maintenant convertir un string en une variable d’une autre type, int, float ou char.

A) Convertir un string en un entier

On va maintenant voir comment convertir une chaîne de caractère string en un entier.

votre_string.toInt();

Il faut que votre string soit exclusivement des nombres entier seulement pour que cela fonctionne. Sinon vous allez avoir une erreur.

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "12";   
void setup() {
  Serial.begin(9600);
  string_site.toInt();
  Serial.println(string_site); // On obtient ceci : 12 en nombre entier
  }
  void loop(){
  }

B) Convertir un string en un float

On va maintenant voir comment convertir une chaîne de caractère string en un nombre décimal (float).

votre_string.toFloat()

Il faut que votre string soit exclusivement des nombres décimaux seulement pour que cela fonctionne. Sinon vous allez avoir une erreur.

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "32.8";   
void setup() {
  Serial.begin(9600);
  string_site.toFloat();
  Serial.println(string_site); // On obtient ceci :32.8 en nombre décimal
}
void loop(){
}

B) Convertir un string en un char

On va maintenant voir comment convertir une chaîne de caractère string en char.

votre_string.charAt(0);

On peut vous donner un exemple pour mieux comprendre son utilisation :

String string_site = "Arduino Factory";   
void setup() {
  Serial.begin(9600);
  string_site.charAt(0);
  Serial.println(string_site); // On obtient ceci :Arduino Factory en char
}

void loop() {
}