Suppression de caractères correspondant à un motif

Arduino:
Suppression de caractères correspondant à un motif

Comment faire :

void setup() {
  Serial.begin(9600); // Initialiser le port série
  String message = "Bonjour, je suis un Ardu1n0!";
  String motif = "1n0";
  
  message = supprimerMotif(message, motif);
  Serial.println(message); // Affichera "Bonjour, je suis un Ardu!"
}

void loop() {
  // rien ici
}

// Fonction pour supprimer le motif dans la chaîne
String supprimerMotif(String source, String motif) {
  int index = source.indexOf(motif); // Trouve l'index du motif
  while (index >= 0) {
    source.remove(index, motif.length()); // Supprime le motif
    index = source.indexOf(motif); // Cherche à nouveau pour d'autres occurrences
  }
  return source;
}

Plongée Profonde

Historiquement, supprimer des caractères dans les chaînes a toujours été une fondation de la programmation. En Arduino, il n’existe pas de méthode intégrée pour supprimer tous les caractères correspondant à un motif, donc on crée soi-même cette logique. D’autres langages offrent des expressions régulières (regex) pour accomplir ceci rapidement, mais la plateforme Arduino favorise des fonctions plus simples par souci d’économie de mémoire. En ce qui concerne l’implémentation, utilisez String.indexOf() pour trouver l’emplacement du motif et String.remove() pour le supprimer.

À Voir Aussi