2016-06-27 14 views

Antwort

0

Ein regex, die verwendet werden können, um die Zahlen übereinstimmen, die Sie ersetzen möchten, ist:

\d+\s-\sTech search; 

SELECT REGEXP_REPLACE (col, '\d+\s-\sTech search(;|$)', '') 

-Test die Regex hier:

Regex101

+0

Eigentlich muss ich den gesamten String '502402849 - Tech Suche' entfernen? –

+0

@anandbaskar Sehen Sie sich meine aktualisierte Antwort an. –

+0

Es war teilweise korrekt. Aber es Entfernung Tech-Suche aus dieser Zeichenfolge auch '123698745 - Tech search to'Theme ist die gesamte Zeichenfolge zu entfernen, die genau zu' 502402849 - Tech-Suche 'entspricht. Hinweis: Zahlen variieren. –

0

Abfrage 1:

WITH data (value) AS (
    SELECT '502402849 - Tech search;502489756 - world wide;123698745 - Tech search to' 
    FROM DUAL 
) 
SELECT REGEXP_REPLACE(value, '^\d+') AS out 
FROM data; 

Output:

OUTPUT               
---------------------------------------------------------------- 
- Tech search;502489756 - world wide;123698745 - Tech search to 

Abfrage 2:

WITH data (value) AS (
    SELECT '502402849 - Tech search;502489756 - world wide;123698745 - Tech search to' 
    FROM DUAL 
) 
SELECT REGEXP_REPLACE(value, '\d+\s*-\s*(Tech search(;|$))', '\1') AS output 
FROM data; 

Output:

OUTPUT              
------------------------------------------------------------- 
Tech search;502489756 - world wide;123698745 - Tech search to 

Abfrage 3:

WITH data (value) AS (
    SELECT '502402849 - Tech search;502489756 - world wide;123698745 - Tech search to' 
    FROM DUAL 
) 
SELECT REGEXP_REPLACE(value, '\d+\s*-\s*(Tech search(;|$))') AS output 
FROM data; 

Ausgang:

OUTPUT              
------------------------------------------------- 
502489756 - world wide;123698745 - Tech search to 
0

REGEXP_REPLACE ('502.402.849 - Tech Suche; 502.489.756 - weltweit, 123698745 - Tech Suche nach', '\ d + (? = - Tech Suche;) ',' ');