如何在没有查询的情况下删除 href 属性?
How can I strip a href attribute without the query?
使用 Google 表格,我想从 "href" 属性中获取 URL 而没有 可能 查询。例如,从 <a href="https://test.com">Test1</a>
或 <a href="https://test.com?this">Test1</a>
.
得到 https://test.com
我使用 中提供的正则表达式答案删除了查询字符串,然后提取了实际的 URL.
有没有办法在一个公式中做到这一点?
请看下面我做了什么。在所有这些示例中,最终输出为 https://test.com
A B C
1 \?[^\"]+ href="(.+)"
2 <a href="https://test.com">Test1</a> =REGEXREPLACE(A2, B, "") =REGEXEXTRACT(B2, C)
3 <a href="https://test.com?param=eter">Test2</a> =REGEXREPLACE(A3, B, "") =REGEXEXTRACT(B3, C)
4 <a href="https://test.com?param=eter&and=this">Test3</a> =REGEXREPLACE(A4, B, "") =REGEXEXTRACT(B4, C)
在这个回答中,我想提出两种模式。在第一个模式中,它使用 REGEXEXTRACT
。在第二个模式中,它使用自定义函数 Google Apps Script(这是一个示例。)。
模式 1:使用公式
=REGEXEXTRACT(A2, C1)
其中 C1 是 href="(.+?)[\?"]
模式二:使用自定义函数
使用时,请将脚本复制粘贴到脚本编辑器中。然后请在 =getUrl(A2)
.
这样的单元格中使用它
function getUrl(value) {
var obj = XmlService.parse(value.replace(/&/g, ";"));
var url = obj.getRootElement().getAttribute("href").getValue();
return url.split("?")[0];
}
结果:
参考文献:
使用 Google 表格,我想从 "href" 属性中获取 URL 而没有 可能 查询。例如,从 <a href="https://test.com">Test1</a>
或 <a href="https://test.com?this">Test1</a>
.
https://test.com
我使用
有没有办法在一个公式中做到这一点?
请看下面我做了什么。在所有这些示例中,最终输出为 https://test.com
A B C
1 \?[^\"]+ href="(.+)"
2 <a href="https://test.com">Test1</a> =REGEXREPLACE(A2, B, "") =REGEXEXTRACT(B2, C)
3 <a href="https://test.com?param=eter">Test2</a> =REGEXREPLACE(A3, B, "") =REGEXEXTRACT(B3, C)
4 <a href="https://test.com?param=eter&and=this">Test3</a> =REGEXREPLACE(A4, B, "") =REGEXEXTRACT(B4, C)
在这个回答中,我想提出两种模式。在第一个模式中,它使用 REGEXEXTRACT
。在第二个模式中,它使用自定义函数 Google Apps Script(这是一个示例。)。
模式 1:使用公式
=REGEXEXTRACT(A2, C1)
其中 C1 是 href="(.+?)[\?"]
模式二:使用自定义函数
使用时,请将脚本复制粘贴到脚本编辑器中。然后请在 =getUrl(A2)
.
function getUrl(value) {
var obj = XmlService.parse(value.replace(/&/g, ";"));
var url = obj.getRootElement().getAttribute("href").getValue();
return url.split("?")[0];
}