【发布时间】:2025-11-27 07:20:02
【问题描述】:
想从字符串中删除以下类型的字符..pl help ' &
【问题讨论】:
-
为答案添加了更多解释
标签: sql snowflake-cloud-data-platform htmlcleaner
想从字符串中删除以下类型的字符..pl help ' &
【问题讨论】:
标签: sql snowflake-cloud-data-platform htmlcleaner
你可以试试这个来删除任何 HTML 特殊字符:
select REGEXP_REPLACE( 'abc&def³»ghi', '&[^&]+;', '!' );
解释:
REGEXP_REPLACE 使用正则表达式进行搜索和替换。我搜索“&[^&]+;”并将其替换为“!”进行演示。您当然可以使用 '' 删除它们。有关该功能的更多信息:
https://docs.snowflake.com/en/sql-reference/functions/regexp_replace.html
关于正则表达式字符串:
【讨论】:
CREATE or REPLACE FUNCTION UDF_StripHTML(str varchar)
returns varchar
language javascript
strict
as
'var HTMLParsedText=""
var resultSet = STR.split(''>'')
var resultSetLength =resultSet.length
var counter=0
while(resultSetLength>0)
{
if(resultSet[counter].indexOf(''<'')>0)
{
var value = resultSet[counter]
value=value.substring(0, resultSet[counter].indexOf(''<''))
if (resultSet[counter].indexOf(''&'')>=0 && resultSet[counter].indexOf('';'')>=0)
{
value=value.replace(value.substring(resultSet[counter].indexOf(''&''), resultSet[counter].indexOf('';'')+1),'''')
}
}
if (value)
{
value = value.trim();
if(HTMLParsedText === "")
{
HTMLParsedText = value
}
else
{
if (value) {
HTMLParsedText = HTMLParsedText + '' '' + value
}
}
value=''''
}
counter= counter+1
resultSetLength=resultSetLength-1
}
return HTMLParsedText';
to call this UDF :
Select UDF_StripHTML(text)
【讨论】: