indexOf(Zeichen)
bestimmt die Position eines Zeichens innerhalb des Strings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Programmieren finde ich toll ;-)”; // das t suchen int Suche = BeispielString.indexOf(“t”); Serial.print(“Position t in ” + BeispielString + “: ”); Serial.println(Suche); } void loop() { // bleibt leer, Programm läuft nur einmal } |

isAlpha()
stellt fest, ob die Eingabe ein Buchstabe ist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | bool BuchstabeTesten; String Eingabe = “”; void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); Serial.println(“Buchstaben oder Zahlen eingeben: ”); } void loop() { while (Serial.available() > 0) { // Eingabe im Seriellen Monitor lesen char Zeichen = Serial.read(); /* Eingabe auf Buchstaben prüfen den eingegebene Buchstabe dem String Eingabe hinzufügen (+=) ZahTesten auf true setzen */ if (isAlpha(Zeichen)) { Eingabe += Zeichen; BuchstabeTesten = true; } /* wenn Enter/Senden gedrückt (‘\n’) und (&&) in der Eingabe ein Buchstabe vorhanden ist (BuchstabeTesten = true) */ if (Zeichen == ‘\n’ && BuchstabeTesten) { // Länge des Strings testen und Ausgabe anpassen int Laenge = Eingabe.length(); // wenn nur ein Buchstabe eingegeben wurde if (Laenge == 1) Serial.println(“in der Eingabe ist der Buchstabe ” + Eingabe + ” enthalten!”); // wenn mehrere Buchstaben eingegeben wurden else Serial.println(“in der Eingabe sind die Buchstaben ” + Eingabe + ” enthalten!”); // Variablen zurücksetzen BuchstabeTesten = false; Eingabe = “”; } // wenn in der Eingabe kein Buchstabe enthalten ist (!BuchstabeTesten -> BuchstabeTesten = false) else if (Zeichen == ‘\n’ && !BuchstabeTesten) Serial.println(“in der Eingabe ist kein Buchstabe enthalten!”); } } |
isDigit()
überprüft, ob die Eingabe eine Zahl ist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | bool ZahlTesten; String Eingabe = “”; void setup() { Serial.begin(9600); delay(1000); Serial.println(“Zahlen oder Buchstaben eingeben: ”); // auf serielle Verbindung warten while (!Serial); } void loop() { while (Serial.available() > 0) { // Eingabe im Seriellen Monitor lesen char Zeichen = Serial.read(); /* Eingabe auf Zeichenen prüfen die eingegebene Zeichen dem String Eingabe hinzufügen (+=) ZahlTesten auf true setzen */ if (isDigit(Zeichen)) { Eingabe += Zeichen; ZahlTesten = true; } /* wenn Enter/Senden gedrückt (‘\n’) und (&&) in der Eingabe eine Zeichen vorhanden ist (ZahlTesten = true) */ if (Zeichen == ‘\n’ && ZahlTesten) { // Länge des Strings testen und Ausgabe anpassen int Laenge = Eingabe.length(); // wenn nur eine Zeichen eingegeben wurde if (Laenge == 1) Serial.println(“in der Eingabe ist die Zahl ” + Eingabe + ” enthalten!”); // wenn mehrere Zeichenen eingegeben wurden else Serial.println(“in der Eingabe sind die Zahlen ” + Eingabe + ” enthalten!”); // Variablen zurücksetzen ZahlTesten = false; Eingabe = “”; } // wenn in der Eingabe keine Zeichen enthalten ist (!Zeichentesten -> ZahlTesten = false) else if (Zeichen == ‘\n’ && !ZahlTesten) Serial.println(“in der Eingabe ist keine Zahl enthalten!”); } } |
toInt()
wandelt einen String in eine Variable vom Typ int um. Der String muss mit einer Zahl beginnen, nach dem ersten Buchstaben werden alle anderen Zeichen ignoriert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String Zahlen = “1234Arduino567”; Serial.println(Zahlen.toInt()); } void loop() { // bleibt leer, Programm läuft nur einmal } |
length()
ermittelt die Länge (Anzahl der Zeichen) eines Strings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Programmieren finde ich toll ;-)”; // Länge bestimmen int Laenge = BeispielString.length(); Serial.print(“Länge des Strings ” + BeispielString + “: ”); Serial.println(String(Laenge) + ” Zeichen.”); } void loop() { // bleibt leer, Programm läuft nur einmal } |

substring(Start, Ende)
zeigt den Teil des Strings von Start bis Ende
Der String „“Programmieren finde ich toll ;-)” soll auf seine Länge und die Postion des „t“ untersucht werden. Anschließend wird er in zwei Teilstrings zerlegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Programmieren finde ich toll ;-)”; // Länge bestimmen int Laenge = BeispielString.length(); Serial.print(“Länge des Strings: ”); Serial.println(Laenge); // das t suchen int Suche = BeispielString.indexOf(“t”); Serial.print(“Position t: ”); Serial.println(Suche); // String vom Anfang bis zum t BeispielString.substring(0, Suche); Serial.print(“String bis zum t: ”); Serial.println(BeispielString.substring(0, Suche)); Serial.print(“String vom t bis zum Ende: ”); Serial.println(BeispielString.substring(Suche, BeispielString.length())); } void loop() { // bleibt leer, Programm läuft nur einmal } |

toLowerCase()/toUpperCase()
toLowerCase() ⇒ in Kleinbuchstaben umwandeln
toUpperCase() ⇒ in Großbuchstaben umwandeln
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Programmieren finde ich toll ;-)”; Serial.println(BeispielString); Serial.println(“———————————”); // Kleinbuchstaben BeispielString.toLowerCase(); Serial.println(BeispielString); // Großbuchstaben BeispielString.toUpperCase(); Serial.println(BeispielString); } void loop() { // bleibt leer, Programm läuft nur einmal } |

startsWith(Zeichen)
stellt das erste Zeichen eines Strings fest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString =“Arduino”; if (BeispielString.startsWith(“A”)) Serial.println(BeispielString + ” beginnt mit: A”); } void loop() { // bleibt leer, Programm läuft nur einmal } |
endsWith(Zeichen)
prüft das letzte Zeichen eines Strings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString =“Arduino”; if (BeispielString.endsWith(“o”)) Serial.println(BeispielString + ” endet mit: o”); } void loop() { // bleibt leer, Programm läuft nur einmal } |
trim()
entfernt Leerzeichen am Anfang und am Ende eines Strings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = ” Programmieren finde ich toll ;-) “; // Länge einschließlich Leerzeichen Serial.println(“Länge des Strings: ” + String(BeispielString.length()) + ” Zeichen”); // Leerzeichen am Anfang und am Ende entfernen BeispielString.trim(); Serial.println(“Länge des Strings: ” + String(BeispielString.length()) + ” Zeichen”); } void loop() { // bleibt leer, Programm läuft nur einmal } |
charAt()
prüft ein Zeichen an der angegebenen Position
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Programmieren finde ich toll ;-)”; // erstes Zeichen lesen char(80) = P if (BeispielString.charAt(0) == char(80)) Serial.println(“Erstes Zeichen ist ein P”); // letzes Zeichen char(41) = ) if (BeispielString.charAt(BeispielString.length() - 1) == char(41)) Serial.println(“Letztes Zeichen ist )”); } void loop() { // bleibt leer, Programm läuft nur einmal } |

Beispiel: ASCII-Tabelle mit char

setCharAt()
setCharAt ersetzt ein Zeichen durch ein anderes oder einen String durch einen anderen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Alexander angelt alles außer Aalen. :-)”; Serial.println(BeispielString); Serial.println(“————————————–”); // Groß-/Kleinbuchstaben suchen und ersetzen for (int i = 0; i < BeispielString.length(); i++) { // Suchstring und Ersatzstring in einfachen Anführungszeichen if (BeispielString.charAt(i) == ‘A’) BeispielString.setCharAt(i, ‘I’); if (BeispielString.charAt(i) == ‘a’) BeispielString.setCharAt(i, ‘i’); } Serial.println(BeispielString); } void loop() { // bleibt leer, Programm läuft nur einmal } |
replace()
replace() ersetzt ein Zeichen durch ein anderes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String BeispielString = “Alexander angelt alles außer Aalen. :-)”; Serial.println(BeispielString); Serial.println(“————————————–”); // alle Kleinbuchstaben ersetzen // a = zu ersetzendes Zeichen, i = Ersatzzeichen BeispielString.replace(“a”, “i”); // Großbuchstaben suchen und ersetzen for (int i = 0; i < BeispielString.length(); i++) { if (BeispielString.substring(i, i + 1) == “A”) BeispielString.replace(“A”, “I”); } Serial.println(BeispielString); } void loop() { // bleibt leer, Programm läuft nur einmal } |

tocharArray()
tocharArray() wandelt einen String in ein char-Array um:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); String Satz = “Programmieren mit Arduino ist toll!”; // Satz.length() -> Anzahl der Zeichen des Strings Satz ermitteln // Array definieren char SatzArray[Satz.length()]; // char-Array Satz erstellen Satz.toCharArray(SatzArray, Satz.length() + 1); Serial.println(); // Array anzeigen for (int i = 0; i < sizeof(SatzArray); i++) { Serial.print(SatzArray[i]); } Serial.println(); Serial.println(“————————————-”); // Array rückwärts anzeigen, letztes Zeichen entfernen for (int i = sizeof(SatzArray) - 1; i >= 0; i–) { Serial.print(SatzArray[i]); } } void loop() { // bleibt leer, Programm läuft nur einmal } |

Letzte Aktualisierung: