In einem CString suchen ???



  • Hallo Leute,

    Ich suche eine Methode die folgendes kann !!

    Ich habe einen Text in einem CString un in einem weitern CString ein wort!! Nun möchte ich das der Text nach dem Wort durchsucht wird und wenn das Word gefunden wurde soll die Methode TRUE zurückgeben !!

    So was habe ich ja schon mit CString Text.Find() gefunden nur leider achtet der da auf die Groß und kleinschreibung, und wenn ich nach einem teilwort suche dann findet er diese auch nicht !!

    Ich meine z.B.

    Text: Hallo die Welt ist schön

    wenn ich nun nach dem Wort "llo" Suche soll die methode auch TRUE zurückgeben !!

    Gibt es sowas schon ???

    Kann mir einer sagen wie ich da am besten ran gehe ???

    Danke Coolsero



  • Hallo Coolsero !

    Wenn Du die beiden zu vergleichenden Strings mit MakeUpper() oder MakeLower() bearbeitest, so kannst Du mit der Find()-Methode arbeiten da beide Strings entweder komplett groß oder klein geschrieben sind.

    Gruß MacReeg



  • Als erste Idee denk ich an Schleifen.
    Geh jedes Zeichen durch.
    Such doch nach den 1.Buchstaben und wenn gefunden nach den zweiten Buchstaben usw. So kannst du sicher sein, dass auch Wortteile gefunden werden.



  • Hab mal eine Frage, wenn cih MakeLower() benutze verändert das den String doch so, das alle Buchstaben dann Kleinbuchstaben sind , odeR? Ich möchte die beiedn Strings doch aber nicht ändern wenn cih sie vergleiche, gibt es noch eine andere Möglichkeit?



  • Mach dir ne temporäre Variable... 😕



  • wenn du die strings an eine methode als value mitgibst, diese methode dann intern gross bzw. klein macht ist das doch völlig egal.
    es ist ja nur der boolsche Rückgabewert wichtig.
    Im aufrufenden Teil werden die originale nicht verändert ! (Call by Value)



  • BOOL CMyClass::FindString(CString strText,CString strFind)
    {
        strText.MakeUpper ();
        strFind.MakeUpper ();
        return (strText.Find(strFind,0)!=-1);
    }
    

    Ich habs noch nicht probiert, sollte aber funktionieren ! 🤡



  • Danke Ernsti,

    ich werde es mal versuchen !!!

    Gruß Coolsero


Anmelden zum Antworten