表“employee”有一列“content”,其中包含长HTML文本。HTML文本还在锚标记中包含多个 href 链接。我想用一个空字符串替换 href 链接中的所有%20。
请注意,任何不在href链接中(但在HTML文本中)出现%20的情况都不应被视为替换。
例如,考虑“内容”字段中的以下文本:
<h2><strong>1. Introduction</strong></h2>\n %20AND%20The tutorial illustrates how to <strong>create a Web %20AND%20Application with Java.
<a href=\"https://search.maven.org/search?q=g:org.springframework.data%20a:spring-da%20ta-jpa\">the <em>spring-data-jp%20a</em> \n
<a href=\"https://search.maven.org/search?q=g:org.springframework.data%20a:spring-da%21ta-jpa\">the <em>spring-data-jp%20a</em>
字符串
预期输出为:
<h2><strong>1. Introduction</strong></h2>\n %20AND%20The tutorial illustrates how to <strong>create a Web %20AND%20Application with Java.
<a href=\"https://search.maven.org/search?q=g:org.springframework.dataa:spring-data-jpa\">the <em>spring-data-jp%20a</em> \n
<a href=\"https://search.maven.org/search?q=g:org.springframework.dataa:spring-da%21ta-jpa\">the <em>spring-data-jp%20a</em>
型
说明:
- 在第一行中,没有任何%20被替换,因为它们不是任何href链接的一部分。
- 在第二行和第三行中,我们将href链接
data%20a:spring-da%20ta-jpa
中的%20替换为空字符串。请注意,%20在此部分<em>spring-data-jp%20a</em>
中未被替换,因为它不是href链接的一部分。
我认为REGEXP_REPLACE在这种情况下会有帮助。有人能帮我形成适当的查询吗?
提前感谢!
1条答案
按热度按时间bfrts1fy1#
请尝试这样的操作:
字符串
1.提取之间的子字符串< and >
1.在此提取中,将%20替换为 *(或空格)
1.将提取的substr(1)替换为modified(2)