Meccarianer: Brauche Hilfe bei Replace Befehl

Hi!

Wenn ich bei Google ein Suchwort eingebe, wird in der Ergebnisansicht das eingegebene Suchwort fett geschrieben.

Das Finden der Ergebnisse klappt bei mir, und damit das Suchwort auch bei mir fett geschrieben wird, habe ich folgenden Befehl:

Replace(strText, strSuche, "<b>"&strSuche&"</b>")

Das Problem ist, dass nur Worte fettgeschrieben werden, die auch bei der Groß- u. Kleinschreibung mit dem Suchwort identisch sind.

D.H.: Name findet Name, aber name findet nicht Name

Meine erste Idee war, das ganze so anzulegen:

Replace(LCase(strText), LCase(strSuche), "<b>"&strSuche&"</b>")

Auf diese Art und Weise werden Suchwort und Text in Kleinbuchstaben umgewandelt und es werden immer alle Wörter gefunden. Dafür ist aber auch der ausgegebene Text nur in Kleinbuchstaben.

Weiß jemand eine bessere Idee?

Meccarianer

  1. Hi!

    Meine erste Idee war, das ganze so anzulegen:

    Replace(LCase(strText), LCase(strSuche), "<b>"&strSuche&"</b>")

    Auf diese Art und Weise werden Suchwort und Text in Kleinbuchstaben umgewandelt und es werden immer alle Wörter gefunden. Dafür ist aber auch der ausgegebene Text nur in Kleinbuchstaben.

    Weiß jemand eine bessere Idee?

    du kannst die Replace-Methode vom RegEx-Objekt benutzen. Ungefähr so:

    Dim strText
    Dim regEx
    strText = "Dies ist ein Test für Replace"
    Set regEx = New RegExp
    regEx.Pattern = "test"
    regEx.IgnoreCase = True
    strText = regEx.Replace( strText, "Dummfug" )
    MsgBox strText

    Gruß,
    Martin

    1. Hi!

      Vielen Dank! Es funktioniert. Allerdings werden jetzt nur ganze Wörter akzeptiert. Ist es irgendwie möglich, dass z.B. das Wort "Namensgebung" auch gehighlightet wird, wenn man Name als Suchwort angibt?

      Meccarianer

      1. Hallo nochmal!

        Hat sich erledigt. Das Problem ließ sich mit dem einfachen Zusatz

        regEx.Global = True

        beheben.

        Vielen Dank aber auf jeden Fall.

        Meccarianer