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()
stellt fest, ob die Eingabe ein Buchstabe ist
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
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.
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
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.
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
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.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
⇒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: