[C/C++] Wort im String prüfen/suchen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Epidrome, 9. Juni 2010 .

Schlagworte:
  1. 9. Juni 2010
    Wort im String prüfen/suchen

    Hallo,
    es ist etwas blöd und mir euch persönlich peinlich, aber ich habe irgendwie das Problem ein wort in einem String zu suchen bzw. zu prüfen.

    Kann mir bitte einer kurz schreiben wie ich prüfen kann ob das Wort im String vorhanden ist oder nicht.

    Danke.
     
  2. 9. Juni 2010
    AW: Wort im String prüfen.

    http://www.cplusplus.com/reference/string/string/find/

    Oder hast du ein spezielles Problem ?
     
  3. 9. Juni 2010
    AW: Wort im String prüfen.

    Code:
    bool isWordInString(string Word, string searchstring)
    {
     if (searchstring.find(Word) != string::npos)
     return true;
     else
     return false;
    }
    Diese simple Funktion sollte es doch tun, oder?

    greez
     
  4. 9. Juni 2010
    AW: Wort im String prüfen.

    Was ich noch sagen will,
    wenn du Anfänger bist bitte den Code nicht einfach nur übernehmen sondern auch verstehen lernen.
    Es bringt meiner Meinung nach nichts ein Programm zu haben das zwar läuft aber die Hälfte danvon nicht verstanden zu haben.
    Nur als so kleinen denkanstoß...
     
  5. 9. Juni 2010
    AW: Wort im String prüfen.

    Hi,
    nein Leute wie gesagt es ist mir peinlich, eigentlich sollte ich das im Schlaff können.
    Aber habe seid wochen und monate was anderes gemacht html und Datenbank das ich die einfachste Sache vergessen und nicht lösen könnte.

    @Mr.Smoke find kennt er bei mir in Borland c++.

    Code:
    bool wordgefunden (gs.c_str(), x)
    {
    if (x.find(gs) == x) {
    ...
    }
    }
    
     
  6. 9. Juni 2010
    AW: Wort im String prüfen.

    Das ist dann aber glaub .NET


    ja und dann sollte es kein problem sein mit dem was bis jetzt gepostet wurde. verstehe net ganz was du sagen willst mit dem satz
     
  7. 9. Juni 2010
    AW: Wort im String prüfen.

    ach stimmt, ich hab c# gelesen
     
  8. 9. Juni 2010
    AW: Wort im String prüfen.

    Code:
    string Word;
    string searchstring;
    bool isWordInString(Word, searchstring)
    {
    if (searchstring.find(Word) != string::npos)
     return true;
     else
     return false;
    }
    
    E2034 Konvertierung von 'string' nach 'bool' nicht möglich
     
  9. 9. Juni 2010
    AW: Wort im String prüfen.

    Da fehlt das string jeweils vor Word und vor searchstring bei den Parametern...

    greez
     
  10. 9. Juni 2010
    AW: Wort im String prüfen.

    Ja habe das jetzt hinbekommen, habe es vorher gefunden.
    Muss noch die Schleife anpassen dann passt schoo .
    Danke.
    BW geht raus.
     
  11. 9. Juni 2010
    AW: Wort im String prüfen.

    Sry was vergessen.
    Wie ist das mit Gross- und klein schreibung ???
    Weil KLEIN, klein, Klein sind 3 unterschiedliche werte.

    Danke.
     
  12. 9. Juni 2010
    AW: Wort im String prüfen.

    Code:
    bool isWordInString(string Word, string searchstring)
    {
     if (UpToLow(searchstring).find(UpToLow(Word)) != string::npos)
     return true;
     else
     return false;
    }
    
    string UpToLow(string str) {
     string tmp = "";
     for (int i=0; i< str.length; i++) 
     tmp += (char)tolower(str[i]);
     return tmp;
    }
    Hab nun eine Funktion geaddet, die beides strings komplett klein macht und dann vergleicht. So werden alle Cases abgedeckt.

    Leider keine Zeit zum testen, musst selbst schauen.

    greez

    //so hab ich es getestet:

    Code:
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    bool isWordInString(string Word, string searchstring);
    string UpToLow(string str);
    
    int main()
    {
     string haystack = "In diesem String wird etwas gesucht! CABLE!";
     string needle = "cable";
     if (isWordInString(needle, haystack))
     cout << "\"" << needle << "\" ist in \"" << haystack << "\"" << endl;
     else
     cout << "\"" << needle << "\" ist nicht in \"" << haystack << "\"" << endl;
     return 0;
    }
    
    bool isWordInString(string Word, string searchstring)
    {
     if (UpToLow(searchstring).find(UpToLow(Word)) != string::npos)
     return true;
     else
     return false;
    }
    
    string UpToLow(string str)
    {
     string tmp = "";
     for (int i=0; i< str.length(); i++)
     tmp += (char)tolower(str[i]);
     return tmp;
    }
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.