TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

深入解析XPath的substring()函数:精准提取子字符串的实战技巧

2025-08-23
/
0 评论
/
4 阅读
/
正在检测是否收录...
08/23

深入解析XPath的substring()函数:精准提取子字符串的实战技巧

在网页抓取和XML数据处理中,XPath的substring()函数是处理字符串的瑞士军刀。本文将通过实际案例,带你掌握这个核心函数的各种用法。

一、substring()函数基础语法

substring()函数的标准格式为:
xpath substring(源字符串, 起始位置[, 截取长度])

关键参数说明:
- 起始位置:从1开始计数(非程序员习惯的0开始)
- 截取长度:可选参数,不指定时默认截取到末尾

二、典型应用场景演示

场景1:提取固定位置的文本

xpath //div[contains(@class,'price')]/substring(text(), 2, 5)
此表达式会提取class包含"price"的div标签文本中,从第2个字符开始的5个字符。比如文本"¥128.99"将返回"128.9"

场景2:动态截取文件名

处理文件路径时特别实用:
xpath substring-after(substring-before(/file/@path, '.ext'), '/')
这个嵌套表达式先提取.ext前的字符串,再截取最后一个斜杠后的内容,完美获取纯文件名。

三、高级技巧与避坑指南

  1. 位置参数陷阱:当起始位置超过字符串长度时,返回空字符串而非报错
    xpath substring("abc", 5) ➔ ""

  2. 负数处理妙用:某些XPath 2.0+版本支持从末尾倒数
    xpath substring("2023-12-31", -5) ➔ "12-31"

  3. 配合正则的混合方案:复杂场景建议结合matches()函数
    xpath //*[matches(text(),'\d{4}')]/substring(text(), 1, 4)

四、实战:电商价格提取案例

假设需要抓取以下价格元素:
html <span class="special-price">限时价: ¥368.00</span>

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/36458/(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 强强强
    2025-04-07
  2. jesse
    2025-01-16
  3. sowxkkxwwk
    2024-11-20
  4. zpzscldkea
    2024-11-20
  5. bruvoaaiju
    2024-11-14

标签云