Teilstrings mit RegExp rausschneiden
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
abschneiden
ahnung
all
aufgabe
aussehen
beginnen
beispiel
code
datenbank
ding
dual beispiel
dual code
fehler
liste
stehen
string
verstehen
-
Hallo @All,
ich habe eine Liste von Strings die Teilweise mit "Copy_" bzw. "Copy_Copy_" beginnen in einer Oracle Datenbank stehen. Ich möchte alle diese "Copy_" via RegExp abschneiden. In Oracle gibt es hierfür REGEXP_SUBSTR(). Kann mir einer ein Beispiel geben wie die RegExp dafür aussehen würde?
SELECT REGEXP_SUBSTR('Copy_Copy_ABC','???') FROM DUAL;
Beispiel:
Copy_ABC soll zu ABC werden
oder
Copy_Copy_ABC soll auch zu ABC werden
Gruß
Dirk -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also ich weiß nicht in wie weit der Posixstandard von den versch. Datenbanken eingehalten wird, aber in PHP würde ich dass so lösen:
$string = preg_replace("/^(Copy_)*/", "", $string);
entsprechend sähe der code für deine Datenbank so aus:
SELECT REGEXP_REPLACE('Copy_Copy_ABC','^(Copy_)*','') FROM DUAL
ich hoffe ich hab keinen Fehler drin, aber vom ding her sollte das eine replace aufgabe sein, statt einen substring zu suchen.
Beitrag zuletzt geändert: 14.4.2010 20:57:40 von nemoinho -
Oh vielen Dank,
Dein Beispiel funktioniert wunderbar!
Habe Dein Beispiel auf REGEXP_SUBSTR() übertragen:
SELECT REGEXP_SUBSTR('Copy_Copy_ABC','[^(Copy_)].*') FROM DUAL;
Vielen Dank hat mir super weiter geholfen!
Dirk
Beitrag zuletzt geändert: 15.4.2010 11:45:40 von banditsoberberg -
ah ja so kann das auch aussehen, ich hab wie gesagt praktisch keine Ahnung von Oracle-Datenbanken und hatte nur kurz überflogen wie dass da aussieht und da erschien mir die replace-Variante am einfachsten, aber richtig cool finde ich regexp eh nur in Perl, denn da sieht das immer gleich supercryptisch aus, obwohl es da finde ich viel einfacher geregelt ist, man muss nur verstehen was da passiert:
$string =~ /^(Copy_)*//;
ist doch nett oder?
Beitrag zuletzt geändert: 15.4.2010 17:58:42 von nemoinho -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage