Anzahl Teilstrings im Text rausfinden.



  • Hallo !

    Wie bekomme ich die Anzahl von Teilstrings aus einem Text herraus ?

    Ich möchte zum Beispiel zählen wie oft das Wort "und" in einem Text vorkommt.



  • Wenn Rechenzeit keine Rolle spielt kannst du mit String.Split den String in ein Array wandeln ("und" als Separator) und dann die Elemente im Array - 1 zählen.



  • Mit regulären Ausdrücken:

    using namespace System::Text::RegularExpressions;
    
    int CountTokensInString(System::String ^inputString, System::String ^searchString)
    {
         return Regex::Matches(inputString, Regex::Escape(searchString))->Count;
    }
    


  • 😕

    Psydocode (kann aber schneller sein als Split und u.U. auch regex)

    String source, part; // Sollten Parameter sein
    
    // Überprüfen auf source != null && source.length > 0
    // ebenso part.
    
    int count = 0, pos = 0, delta = part.Length;
    
    while((pos = source.IndexOf(part, pos + delta)) >= 0) count++;
    // Alternative: (pos = delta + source.IndexOf(part)) >= delta) bin mir nicht sicher was schneller ist.
    
    return count;
    

    Wenn du nicht genau verstehst was er macht, kannst ja nachfragen.



  • Thx für eure Antworten.

    @taraneas - habe deins erstmal ausprobiert und funzt super.

    @Rhombicosidodecahedron - Dank dir, bist immer ne gute hilfe.werde deins auch gleich ausprobiern. habs denke mal auch verstanden.

    👍 👍 👍


Log in to reply