0

我有以下 xml 可供阅读:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE PROCESS_PO_007 SYSTEM "003_process_po_007.dtd">
<!-- Oracle eXtensible Markup Language Gateway Server  -->
<PROCESS_PO_007>
  <CNTROLAREA>..

我想用单个空格替换输入 xml 中的任何注释。我想用空格替换任何以空格开头的标签和中间的字符串,例如

<!DOCTYPE PROCESS_PO_007 SYSTEM "003_process_po_007.dtd">应替换为“”,同样 <!-- Oracle eXtensible Markup Language Gateway Server -->应替换为“”

我正在使用以下替换功能但不成功:

replace(tab.user_data.payload, '&lt;!.*?&gt;', ' ')

但这不起作用。

谁能建议我在这里做错了什么。

4

1 回答 1

1

如果你想使用正则表达式,你必须使用 regexp_replace而不是replace,

select regexp_replace('<!-- Oracle ...  -->blub', '<!.*?>', ' ') from dual
于 2013-08-23T10:30:32.330 回答