Erkennen einer Zeichenfolge innerhalb einer Zeichenkette
-
Hi,
Gibt es einen einfachen Weg wie man eine Zeichenfolge (z.B abc) in einer Zeichenkette (z.B bhabchz) suchen kann? Mit einfachem Weg meine ich einen Operator oder eine Funktion aus einer Bibliothek o.ä.
Cheers,
Flügelnuss
-
Ja.
-
Wenn Du Zeichenkette in C++ denkst, denkst Du
std::string
.Dann schaust Du in eine Dokumentation zu std::string. Z.B. : http://en.cppreference.com/w/cpp/string/basic_string.
Dort guckst Du, ob was interessantes dabei ist. Beispielsweise klingen
substr()
undfind()
ganz passend.Wenn das nicht fruchtet: Weiter zu
<algorithm>
http://en.cppreference.com/w/cpp/algorithm.Dort gibt es auch wieder ein
find()
, zusätzlich noch einsearch()
.Es ginge doch mit dem Teufel zu, wenn da nix dabei wäre.
-
Was hat denn das mit
substr
zu tun?
-
Arcoth schrieb:
Was hat denn das mit
substr
zu tun?wenn man weiß an welchen "stellen" sich die gewünschten zeichen befinden bzw. gezielt i.ein bereich der zeichen eines strings haben möchte...
siehe auch hier: (im beispiel unten ganz gut zu sehen)
http://www.cplusplus.com/reference/string/string/substr/kannte ich vorher auch nicht...
-
wenn man weiß an welchen "stellen" sich die gewünschten zeichen befinden
... dann kennt man die Zeichen bereits (i.e. hat sie als String gespeichert) und muss sie nicht erst durch
substr
kopieren lassen.gezielt i.ein bereich der zeichen eines strings haben möchte...
Das hat wiederum mit der Frage wenig zu tun.
-
Arcoth schrieb:
wenn man weiß an welchen "stellen" sich die gewünschten zeichen befinden
... dann kennt man die Zeichen bereits (i.e. hat sie als String gespeichert) und muss sie nicht erst durch
substr
kopieren lassen.gezielt i.ein bereich der zeichen eines strings haben möchte...
Das hat wiederum mit der Frage wenig zu tun.
ja klar du hast nat. vollkommen recht...
aber entfernt kann man das dazu evt. benutzen...(in manchen fällen, wo dieses vorgehen wirklich sinn macht ...
)
ich hab den vorschlag mit "substr" auch nicht gemacht...
ich find auch das das nicht direkt was damit zutun hat...
-
ich hätte wahrscheinlich sowas benutzt:
http://www.cplusplus.com/reference/cstring/strpbrk/
http://www.cplusplus.com/reference/string/string/find/alternativ gäbe es dann noch :
http://www.cplusplus.com/reference/regex/
(ist aber wahrscheinlich in diesem fall mit kanonen auf spatzen geschossen...)
hoff ich konnt helfen ...
lg
-
Arcoth schrieb:
Was hat denn das mit
substr
zu tun?Sehr gut, Arcoth!
Es ist übrigens noch ein roter Hering unter den vier Kandidaten!
-
Den muss man aber nicht extra andeuten, dass
std::find
nur Elemente, undstd::search
Ranges sucht sollte jedem bekannt sein.
-
Arcoth schrieb:
[...]dass
std::find
nur Elemente, undstd::search
Ranges sucht sollte jedem bekannt sein.Selbstredend!
-
Regex???