我正在尝试提取单词“Hændelse”之后的以下字符串中的所有内容。
串:
Recordtype001[ efternavn = Nymark.] Adr2: 7020 Trondheim Hændelse A06: Udrejse er modtaget fra CPR-registeret.
我尝试使用REGEXP_SUBSTR-但它只返回字符串't'的结尾。
我希望它回来
A06: Udrejse er modtaget fra CPR-registeret.
这是我尝试过的:
WITH data AS
(
SELECT '"Recordtype001[ efternavn = Nymark.] Adr2: 7020 Trondheim Hændelse A06: Udrejse er modtaget fra CPR-registeret."' string
FROM dual
)
SELECT string,
REGEXP_SUBSTR(string, '[^Hændelse]+$') new_string
FROM data;
您的正则表达式不会执行您想要的操作。您正在定义一个字符类,该类不能包含字符串'中的字符Hændelse'
。基本上,它正在寻找一个系列以外的字符'H'
,'æ'
,'n'
,'d'
,'e'
,'l'
,'s'
,'e'
在字符串的结尾。
一种选择是regexp_replace()
:
regexp_replace(string, '^.*Hændelse\s*', '') new_string
请注意,使用简单的字符串函数可以更有效地完成此操作(尽管有些复杂):
ltrim(substr(string, instr(string, 'Hændelse') + length('Hændelse'))) new_string
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句