我的 Google 电子表格中有大约 3000 行,每行包含我们网站上一篇文章的数据。在一列(例如 A:A)中存储 HTML 格式的文本。我需要从此列中提取 href=""
属性内的所有 URL,稍后再使用它们。 (可以是数组,也可以是B列用逗号或空格分隔的字符串)
我尝试使用 REGEXTRACT
公式,但它只给出了第一个结果。然后我尝试使用 REGEXREPLACE
但我无法编写正确的表达式来仅获取 URL 链接。
我知道使用正则表达式从 HTML 中获取任何内容不是正确的方法。是否有另一种方法可以从一个单元格中的 HTML 文本中提取这些值?
样本数据链接:Google Spreadsheet
提前谢谢你!我在这里以及脚本、解析等方面都是新手。
最佳答案
这个 sample 怎么样?我用了href=\"(.*?)\"
用于检索 URL。 regex101.com 的样本是 here .
1。使用 Google 电子表格功能:
=TEXTJOIN(CHAR(10),TRUE,ARRAYFORMULA(IFERROR(REGEXEXTRACT(SPLIT(a1,">"),"href="&CHAR(34)&"(.*?)"&CHAR(34)))))
在这种情况下,由于 REGEXEXTRACT
在单元格数据由 SPLIT
分隔后,仅检索第一个匹配的字符串, URL 由 REGEXEXTRACT
检索.
结果:
2。使用 Google Apps 脚本:
function myFunction(str){
var re = /href=\"(.*?)\"/g;
var result = "";
while ((res=re.exec(str)) !== null) {
result += res[1] + "\n";
};
return result.slice(0,-1);
}
此脚本可用作自定义函数。当你使用它时,请输入=myFunction(A1)
到一个单元格。
结果:
结果与上述方法相同。
如果我误解了你的问题,我很抱歉。
关于html - 从 Google 表格中的 HTML 文本中提取 href 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46694413/