Ich habe einen Ausdruck wie so:Mit REGEXP_REPLACE mit Leerzeichen
Select regexp_replace('Seattle, WA Se', 'Se', 'SE')
ich das ‚Es‘ mit ‚SE‘ ersetzen mag, will aber nicht das Wort ‚Seattle‘ berühren. Bisher wurden sowohl "Seattle" als auch "Se" in "SEattle" und "SE" geändert.
Wie füge ich eine Bedingung in der RegExp_Replace Ausdruck zu finden und ändern auf der "Stand-alone" 'Se'?
Danke.
Als ich zuerst Ihre Antwort ansah, dachte ich, warum benutzen Sie nicht Wortanker? Ich wusste nicht, dass Oracle-Datenbank dies nicht in seiner Reg-Ausdruck-Engine enthält. –
@PatrickBacon Wenn es dann tat, würde es das Leben so viel einfacher machen - besonders wenn man versucht, "Se Se Se" anzupassen - womit diese Antwort Probleme hat (kann aber behoben werden, indem man zuerst eine Wiederholung jedes Leerraumzeichens einfügt zweitens, die oben beschriebene Ersetzung durchzuführen und dann schließlich jeden wiederholten Leerraum zu entfernen, dies ist jedoch eine Menge Arbeit, die einfach durch die Null-Breite-Wortgrenzenübereinstimmung gelöst werden könnte. – MT0