在我的数据集中,我有一个存储用 HTML 标记的文本的字段。一般格式如下:
<html><head></head><body><p>My text.</p></body></html>
我可以尝试通过执行以下操作来解决问题:
REPLACE(REPLACE(Table.HtmlData, '<html><head></head><body><p>', ''), '</p></body></html>')
然而,这并不是一个严格的规则,因为 一些条目违反了 W3C 标准,并且不包括 <head>
例如标签。更糟糕的是, 可能缺少结束标签。所以我需要为每个可能存在的开始和结束标签包含 REPLACE
函数。
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
Table.HtmlData,
'<html>', ''),
'</html>', ''),
'<head>', ''),
'</head>', ''),
'<body>', ''),
'</body>', ''),
'<p>', ''),
'</p>', '')
我想知道是否有比使用多个嵌套的 REPLACE
函数更好的方法来实现这一点。不幸的是,我在这个环境中唯一可用的语言是 SQL 和 Visual Basic(不是 .NET)。
原文由 dkmann 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新 - 对于带有未闭合标签的字符串: