XPath怎么获取字符串长度 string-length()

畫卷琴夢
发布: 2025-12-16 03:29:34
原创
196人浏览过
string-length()返回字符串中Unicode字符个数;参数为空或未提供时返回0,节点集取第一个节点的字符串值;空格和换行符计入长度,需精确判断时应先用normalize-space()清理。

xpath怎么获取字符串长度 string-length()

XPath 中用 string-length() 函数获取字符串长度,它返回字符串中 Unicode 字符的个数(不是字节数)。

基本用法:直接计算字符串长度

函数接受一个字符串参数,返回整数。如果参数为空或未提供,返回 0;如果参数是节点集,只取第一个节点的字符串值(即 string(node-set) 的结果)。

  • string-length('hello') → 返回 5
  • string-length('你好') → 返回 2(每个汉字算 1 个字符)
  • string-length('') → 返回 0
  • string-length()(无参数)→ 返回 0

结合节点使用:获取元素文本内容的长度

常用于判断某个元素是否为空、或筛选文本较长/较短的节点。

  • string-length(//title) → 返回第一个 <title></title> 元素文本内容的字符数
  • //div[string-length(text()) > 10] → 选中文本子节点长度超过 10 的 <div> <li> <code>//input[string-length(@placeholder) > 0] → 找出设置了非空 placeholder 的 input
  • 注意空格和换行符也算字符

    text() 可能包含空白(如缩进、换行),string-length() 会把它们计入长度。需要精确判断“有效内容”时,建议先用 normalize-space() 清理:

    察言观数AskTable
    察言观数AskTable

    企业级AI数据表格智能体平台

    察言观数AskTable 78
    查看详情 察言观数AskTable
    • string-length(normalize-space(//p)) → 去掉首尾空格、合并中间多个空格为一个后计算长度
    • //p[string-length(normalize-space()) = 0] → 找真正“空内容”的段落(忽略纯空白)

    在不同 XPath 版本中的兼容性

    string-length() 是 XPath 1.0 就支持的核心函数,所有主流解析器(如 lxml、Saxon、浏览器内置 XPath)都支持。XPath 2.0/3.0 中行为一致,但新增了更灵活的字符串函数(如 string-length((), 'UTF-8') 这类字节长度计算需用其他方式,XPath 本身不直接支持)。

    基本上就这些 —— 简单但容易忽略空白影响,用前记得看清楚目标文本的实际构成。

以上就是XPath怎么获取字符串长度 string-length()的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号