Forum: Mikrocontroller und Digitale Elektronik Arduino String durchsuchen


von Makkes (Gast)


Lesenswert?

Hallo zusammen.
Ich stehe vor einem Problem welches ich in Java einfach lösen kann, 
leider nicht auf meinem Arduino Board.

Ich habe z.B. eine Zeichenkette:
zeichenkette1 = "halloliebeleute";

jetzt möchte ich gerne wissen ob in zeichenkette1 z.B. der String 
"liebe" vorkommt.


Gibt es dafür eine fertige Funktion die mir true oder false zurückgibt 
bzw. den index an welcher Position der gesuchte String vorkommt?


Viele Dank schon mal,

Makkes.

von Figlux E. (Firma: figlux electronix) (fuxl)


Lesenswert?


von Jasch (Gast)


Lesenswert?

Makkes schrieb:
> Hallo zusammen.
> Ich stehe vor einem Problem welches ich in Java einfach lösen kann,
> leider nicht auf meinem Arduino Board.
>
> Ich habe z.B. eine Zeichenkette:
> zeichenkette1 = "halloliebeleute";
>
> jetzt möchte ich gerne wissen ob in zeichenkette1 z.B. der String
> "liebe" vorkommt.
>
>
> Gibt es dafür eine fertige Funktion die mir true oder false zurückgibt
> bzw. den index an welcher Position der gesuchte String vorkommt?

strstr(). Die gibt Dir den Pointer auf den Anfang des gesuchten 
Teilstrings zurück oder NULL.

#include <string.h> nicht vergessen.

von Joerg P. (pleumann)


Lesenswert?

Oder, wenn man die String-Klasse auf dem Arduino nutzen möchte, ganz 
einfach das char[] in einen String verpacken und:

http://arduino.cc/en/Reference/StringIndexOf

Grüße
Jörg

von Jürgen S. (jurs)


Lesenswert?

Makkes schrieb:
> Ich habe z.B. eine Zeichenkette:
> zeichenkette1 = "halloliebeleute";

Mach mal Butter bei die Fische:
Wie lautet die Variablen-Deklaration für Deine "Zeichenkette"?

Die Arduino-Entwicklungsumgebung kennt zwei grundsätzlich verschiedene 
Arten von Zeichenketten:

1. Zeichenketten als Char-Arrays
Beispiel:
  char zeichenkette1[]="halloliebeleute";

2. Zeichenketten als String-Objekte
Beispiel:
  String zeichenkette2="halloliebeleute";


Für Zeichenketten als Char-Arrays stehen Standard-C-Funktionen zur 
Verfügung Dokumentation siehe:
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html

Für Zeichenketten als String-Objekte stehen erweiterte 
"Komfort"-Funktionen zur Verfügung:
http://www.arduino.cc/en/Reference/StringObject

Du kannst in einem Projekt die eine oder die andere Art von 
Zeichenketten verwenden, Du kannst beide Arten verwenden, und Du kannst 
die eine Art von Zeichenketten in die andere Art umwandeln.

Was Du nicht kannst: Funktionen, die nur für eine Art von Zeichenketten 
zur Verfügung stehen auf die andere Art von Zeichenketten anwenden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.