Bře*_*eťa 4 html html-parsing google-sheets google-apps-script
我的 Google 电子表格中有大约 3000 行,每一行都包含有关我们网站上一篇文章的数据。在一列(例如 A:A)中存储了 HTML 格式的文本。我需要href=""从此列中提取属性内的所有 URL ,然后再使用它们。(它可以是数组或文本字符串,在 B 列中用逗号或空格分隔)
我尝试使用REGEXTRACT公式,但它只给了我第一个结果。然后我尝试使用,REGEXREPLACE但我无法编写正确的表达式来仅获取 URL 链接。
我知道使用正则表达式从 HTML 获取任何内容并不是正确的方法。还有另一种方法可以从一个单元格中的 HTML 文本中提取这些值吗?
示例数据链接:Google 电子表格
提前谢谢你!我是这里的新手,也是脚本、解析等方面的新手。
这个样品怎么样?我用于href=\"(.*?)\"检索 URL。regex101.com 的示例在这里。
=TEXTJOIN(CHAR(10),TRUE,ARRAYFORMULA(IFERROR(REGEXEXTRACT(SPLIT(a1,">"),"href="&CHAR(34)&"(.*?)"&CHAR(34)))))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,由于REGEXEXTRACT只检索第一个匹配的字符串,因此在单元格数据被 分隔后SPLIT,URL 被 检索REGEXEXTRACT。
function myFunction(str){
var re = /href=\"(.*?)\"/g;
var result = "";
while ((res=re.exec(str)) !== null) {
result += res[1] + "\n";
};
return result.slice(0,-1);
}
Run Code Online (Sandbox Code Playgroud)
此脚本可用作自定义函数。在使用这个的时候,请放入=myFunction(A1)单元格。
结果与上述方法相同。
如果我误解了你的问题,我很抱歉。
| 归档时间: |
|
| 查看次数: |
1862 次 |
| 最近记录: |