In C++ einen Vector vom Typ String, nach einer bestimmten Zeichenkette durchsuchen
-
Hallo Leute,
ich möchte in C++ einen Vector vom Typ String, nach einer bestimmten Zeichenkette durchsuchen. Ich habe auch schon bei Vector die Methode find gefunden, also z.B. so
vector1[i].find(.....), aber irgenwie funtioniert das nicht.Kann mir jemand einen Tipp geben?
Danke schon mal in voraus.
Grüsse
-
durch das indizieren des Vectors dursuchst du an der Stelle i den String im Vector (find ist eine funktion der Klasse String). Sonst kannst 'einfach' du ueber den Vector iterieren und die Eintraege vergleichen.
-
Für das Finden von X in einem Container<X> gibt es auch eine allgemeingültige Funktion:
#include <algorithm> std::vector<std::string>::iterator element = std::find(vector1.begin(), vector1.end(), "..."); if (element != vector1.end()) // gefunden!! // ...
-
Und wenn du keine exakte Übereinstimmung benötigst, kannst du auch find_if() verwenden:
bool has_dots(const string& str) { return str.find("...") != string::npos; } ... pos=find_if(v.begin(),v.end(),has_dots);