You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Sheets中用XPath获取<h1>内容并排除嵌套<span>标签

解决Google Sheets IMPORTXML提取
指定文本的问题

没问题,这个需求完全可以实现,核心是利用XPath的节点选择能力或者结合正则替换来过滤掉不需要的内容。下面给你两种实用的方案,你可以根据目标页面的HTML结构来选:

方案1:直接提取

下的纯文本节点(推荐)

如果你的目标页面中,

标签里的"Lenovo……Silver"内容是直接作为文本节点存在,而"Item #……"是嵌套在子元素里的,那可以用XPath直接选中
下所有的文本节点,再拼接起来:

=JOIN(" ", IMPORTXML("你的目标页面URL", "//h1/text()"))

原理说明:

  • //h1/text() 这个XPath会选中
    标签下所有直接的文本内容,自动跳过所有子元素(比如你的)里的文本。
  • JOIN(" ", ...) 把提取到的多个文本片段用空格连接起来,还原成连贯的句子。

如果页面里有多个

,你可以给XPath加更精准的限定,比如根据class://h1[@class='product-name']/text(),避免匹配到其他无关的
。

方案2:先取完整

内容,再正则替换掉不需要的部分

如果方案1的XPath匹配结果不符合预期(比如文本节点结构比较复杂),可以先获取整个

的内容,再用正则表达式把及其内部的内容删掉:

=REGEXREPLACE(IMPORTXML("你的目标页面URL", "//h1"), "<span[^>]*>.*?</span>", "")

原理说明:

  • IMPORTXML("...", "//h1") 先获取整个
    标签的innerHTML(包括里面的)。
  • REGEXREPLACE(..., "<span[^>]*>.*?</span>", "") 用正则匹配所有标签(不管有没有属性)和里面的所有内容,替换成空字符串,剩下的就是你需要的文本。

如果里的内容有特殊格式,你可能需要微调正则,但这个通用写法大部分场景都能用。

你可以先试试方案1,一般这种商品标题的结构,方案1就能完美解决问题啦!

内容的提问来源于stack exchange,提问作者Mr. B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:38:59