Prüfen ob gesuchtes Wort in string enthalten



  • Hallo

    Wie kann ich überprüfen, ob ein bestimmtes Wort in einem vom Benutzer eingegebenen string enthalten ist?

    Also so:
    [cpp]
    string text;
    string gesuchtesWort = "heute";
    text = ReadLine(); // z.B. Ich gehe heute einkaufen
    prüfen ob gesuchtesWort in text enthalten // und genau hier weiss ich nicht
    // wie das zu realisieren ist 😃
    [/cpp]

    Ich hoffe mir kann geholfen werden 🙂

    Grüsse



  • Also ich habe es jetzt wie folgt hinbekommen:

    string y = "heute";
    string x = Console.ReadLine();
    int position = x.IndexOf(y);
    if (position == -1)
    {
        Console.WriteLine(y + " ist in " + x + " enthalten.");
    }
    else
    {
        Console.WriteLine("Ist nicht enthalten.");
    }
    

    Nun frage ich mich aber ob es noch eine andere/elegantere/bessere Lösung gibt?!



  • Ich denke, mit IndexOf ist es schon am besten gelöst.
    Der Rückgabewert -1 bedeutet allerdings, dass der String nicht gefunden wurde, nicht umgekehrt.

    Gruß,
    yanni



  • Ja danke. Ist mir aber erst im nachhinein aufgefallen 🙂

    Jetzt versuche ich, sowas in der art wie Eve von YellowStrom zu machen.
    Dass also mehrere Wörter im Text gesucht werden und dann das "passendste" ausgewählt wird.

    Wie gehe ich das am besten an?
    Das wäre dann ein Parser, richtig?



  • Evtl. mit string.Split() oder mit string.Substring(..) sollte dies einfach zu lösen sein.


Anmelden zum Antworten