如何在Oracle中解析字符串?

ed1*_*d1t 5 sql string oracle parsing

如何在Oracle中的以下字符串中解析"request"的值?

<!-- accountId="123" activity="add" request="add user" -->

请求的大小和位置是随机的.

Cra*_*aig 6

您可以使用正则表达式来查找:

regexp_replace(str, '.*request="([^"]*)".*', '\1')
Run Code Online (Sandbox Code Playgroud)

  • 您可能需要考虑使用`.*\s + request`启动正则表达式,以使其与`subrequest ="foo"`之类的内容不匹配. (2认同)

Ole*_*liv 5

用于INSTR(givenstring, stringchartosearch,start_position)查找 'request="' 的位置并查找结束 '"' 的位置。

然后使用substr(string, starting_position, length).