2016-05-25 14 views
1

Ich möchte ALLE ', durch ' || ersetzen .Wobei ich nur ersetzen ', die nach dem allerersten Wort beginnen (Groß-/Kleinschreibung beachten). Wir könnten mehrere BEGIN haben, aber sobald ich das Wort beginne zum ersten Mal treffe, möchte ich alle Vorkommen AFTER begin ersetzen.Alle Vorkommen nach einem Zeichen mit Oracle ersetzen regexp_replace

Hier ist mein Code, die alle ohne Ausnahme ersetzt:

regexp_replace(column_name, ''',', '''||', 1, 0, 'i'); 

Dank

+0

Lieber Qanat Tajrediat, sollten Sie aktualisieren Ihre Arbeit unter Berücksichtigung entsprechend der Editted Antwort .. –

Antwort

2

Sie einfach die Position des ersten Wortes beginnen in Ihrer Spalte und in den position Parameter von regexp_replace finden konnte

Also sollten Sie diese

verwenden 210

Editted: Nach Vorschlag von Gary_W, sollten Sie die Verwendung von Keyword ‚\ sbegin \ s‘ (aktualisiert im obigen Code) betrachten falsche Wort wenn begin Teil eines anderen Wortes wie function get_beginning_status zu vermeiden, zu finden ist.

P/S: Mit \s statt non-breaking-space bei String Text in column_name haben line break

+1

Sie können einen Raum hinzufügen wollen entweder Seite von BEGIN, falls die Zeichenfolge 'BEGIN' Teil eines anderen Wortes ist. –

+0

@Gary_W danke, edited. –

Verwandte Themen