REGEXP_REPLACE - entfernen new line - \n-aus der Zeichenfolge NUR, wenn Sie umschlossen ist ()'s
Ich versuche, REGEXP_REPLACE ersetzen alle neuen Zeile (\n) aus einem string mit einer Ausnahme - Sie MÜSSEN in Klammern eingeschlossen werden, ersetzt werden.
Beispiel:
Vor String:
'a\n, b\n, c (a\n, b, c\n), d\n, e'
var1 := 'a
b
c (a
b, c
), d
e'
Nach string:
'a\n, b\n, c, (a b c), d\n, e'
var2 := 'a
b
c (a, b, c), d
e'
Ich weiß, es muss eine saubere Muster eines regulären Ausdrucks, der kann dies tun - aber ich kann nicht meinen Kopf um ihn herum.
vielen Dank...
es ist einfach für
gefunden: * REGEXP_REPLACE(column_name, '(()|^).*?((|$))|,', '\1') * von: entfernen Kommas * Aber ich kann nicht machen \n Arbeit.
Perl
Sprache, aber für oracle.. Hm.. weiß nicht, welche Art von regulären Ausdrücken unterstützt. [\(](?:(.+)\n?)+[\)]
ersetzen mit $1 - das ist Spiel (.+)
gefunden: * REGEXP_REPLACE(column_name, '(()|^).*?((|$))|,', '\1') * von: entfernen Kommas * Aber ich kann nicht machen \n Arbeit.
InformationsquelleAutor TA Nguyen | 2013-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Egor Art beziehen, was wäre die regex Aussehen, wenn ich will ersetzen Sie es mit etwas anderem, statt es zu entfernen. Ex: 'a('||chr(10)||')b' --> 'a(NEWLINE)b' ?
Ich weiß es nicht. Sie können öffnen Sie eine neue Frage.
InformationsquelleAutor Egor Skriptunoff