Arduino:
Eliminazione di caratteri che corrispondono a un pattern
Come fare:
void setup() {
Serial.begin(9600);
String data = "B4n4n4s4Lif3!";
String pattern = "4";
data = deleteMatchingChars(data, pattern);
Serial.println(data); // Output: BnnnsLf!
}
void loop() {
// Nothing to do here
}
String deleteMatchingChars(String str, String pattern) {
for (int i = 0; i < pattern.length(); i++) {
str.replace(String(pattern[i]), "");
}
return str;
}
Approfondimento
La rimozione di caratteri corrispondenti in una stringa non è una funzione nativa dei linguaggi di programmazione più antichi, ma si è evoluta con l’introduzione delle espressioni regolari (regex). Alternativamente, si potrebbero usare funzioni di manipolazione delle stringhe come replace
o iterare manualmente attraverso ogni carattere. Dettagli d’implementazione variano a seconda del linguaggio: in C, ad esempio, è necessario manipolare gli array di caratteri manualmente, mentre linguaggi più nuovi offrono metodi più efficienti.
Vedi anche
- Arduino Reference: StringObject
- Arduino Reference: StringReplace
- Regular Expressions in C++ - Sebbene non sia direttamente correlato all’Arduino, fornisce ulteriori informazioni sulle regex in uno dei linguaggi su cui si basa Arduino.