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

如何通过XPath选取指定h1下span元素文本的前3个单词?

提取元素文本前3个单词的XPath写法

先明确目标HTML结构:

<h1 id="title" class="a-size"><span>Web page title - web page title</span></h1>

根据你使用的XPath版本,有两种实现方式:

XPath 2.0+(推荐,支持多数现代工具)

直接用字符串拆分和筛选函数,写法简洁:

string-join(tokenize(.//h1[@id='title']/span/text(), '\s+')[position() <= 3], ' ')

逻辑说明:

  • tokenize(文本, '\s+'):把文本按任意数量的空白符拆分成单词列表
  • [position() <= 3]:筛选出列表里的前3个单词
  • string-join(列表, ' '):把这3个单词用空格拼接成完整字符串

XPath 1.0(兼容旧工具/环境)

XPath 1.0没有数组和拆分函数,只能靠字符串截取拼接:

concat(
  substring-before(.//h1[@id='title']/span/text(), ' '),
  ' ',
  substring-before(substring-after(.//h1[@id='title']/span/text(), ' '), ' '),
  ' ',
  substring-before(substring-after(substring-after(.//h1[@id='title']/span/text(), ' '), ' '), ' ')
)

逻辑说明:

  • 分步截取第一个、第二个、第三个空格前后的内容,最后用concat把三个单词拼接起来

如果文本里还有其他分隔符(比如例子里的-),可以把XPath 2.0里的正则改成'[\s-]+',就能同时按空格和连字符拆分单词。

内容的提问来源于stack exchange,提问作者Linux

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:32:08