indexOf(Zeichen)
bestimmt die Position eines Zeichens innerhalb des Strings
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()
bool BuchstabeTesten;
String Eingabe = "";
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
}
void loop()
{
while (Serial.available() > 0)
{
// Eingabe im Seriellen Monitor lesen
char Buchstabe = Serial.read();
/*
Eingabe auf Buchstaben prüfen
den eingegebene Buchstabe dem String Eingabe hinzufügen (+=)
ZahTesten auf true setzen
*/
if (isAlpha(Buchstabe))
{
Eingabe += Buchstabe;
BuchstabeTesten = true;
}
/*
wenn Enter/Senden gedrückt ('\n')
und (&&) in der Eingabe ein Buchstabe vorhanden ist (BuchstabeTesten = true)
*/
if (Buchstabe == '\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 (Buchstabe == '\n' && !BuchstabeTesten) Serial.println("in der Eingabe ist kein Buchstabe enthalten!");
}
}
isDigit()
überprüft, ob die Eingabe eine Zahl ist
bool ZahlTesten;
String Eingabe = "";
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
}
void loop()
{
while (Serial.available() > 0)
{
// Eingabe im Seriellen Monitor lesen
char Zahl = Serial.read();
/*
Eingabe auf Zahlen prüfen
die eingegebene Zahl dem String Eingabe hinzufügen (+=)
ZahTesten auf true setzen
*/
if (isDigit(Zahl))
{
Eingabe += Zahl;
ZahlTesten = true;
}
/*
wenn Enter/Senden gedrückt ('\n')
und (&&) in der Eingabe eine Zahl vorhanden ist (ZahlTesten = true)
*/
if (Zahl == '\n' && ZahlTesten)
{
// Länge des Strings testen und Ausgabe anpassen
int Laenge = Eingabe.length();
// wenn nur eine Zahl eingegeben wurde
if (Laenge == 1) Serial.println("in der Eingabe ist die Zahl " + Eingabe + " enthalten!");
// wenn mehrere Zahlen eingegeben wurden
else Serial.println("in der Eingabe sind die Zahlen " + Eingabe + " enthalten!");
// Variablen zurücksetzen
ZahlTesten = false;
Eingabe = "";
}
// wenn in der Eingabe keine Zahl enthalten ist (!Zahltesten -> ZahlTesten = false)
else if (Zahl == '\n' && !ZahlTesten) Serial.println("in der Eingabe ist keine Zahl enthalten!");
}
}
length()
ermittelt die Länge (Anzahl der Zeichen) eines Strings
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\u00e4nge 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.
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\u00e4nge 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));
// oder, weil Laenge schon bestimmt wurde:
// BeispielString.substring(suche + 1, Laenge);
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
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
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
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
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
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.print("Erstes Zeichen ist ein P");
}
void loop()
{
// bleibt leer, Programm läuft nur einmal
}
Beispiel: ASCII-Tabelle mit char
➨Das dazugehörige Programm:
setCharAt()
setCharAt ersetzt ein Zeichen durch ein anderes oder einen String durch einen anderen
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:
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:
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
}
Strings verketten Variable Typ umwandeln Operatoren Funktionen Arrays Variable
Letzte Aktualisierung: