string-length()返回字符串中Unicode字符个数;参数为空或未提供时返回0,节点集取第一个节点的字符串值;空格和换行符计入长度,需精确判断时应先用normalize-space()清理。

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 的 inputtext() 可能包含空白(如缩进、换行),string-length() 会把它们计入长度。需要精确判断“有效内容”时,建议先用 normalize-space() 清理:
string-length(normalize-space(//p)) → 去掉首尾空格、合并中间多个空格为一个后计算长度//p[string-length(normalize-space()) = 0] → 找真正“空内容”的段落(忽略纯空白)string-length() 是 XPath 1.0 就支持的核心函数,所有主流解析器(如 lxml、Saxon、浏览器内置 XPath)都支持。XPath 2.0/3.0 中行为一致,但新增了更灵活的字符串函数(如 string-length((), 'UTF-8') 这类字节长度计算需用其他方式,XPath 本身不直接支持)。
基本上就这些 —— 简单但容易忽略空白影响,用前记得看清楚目标文本的实际构成。
以上就是XPath怎么获取字符串长度 string-length()的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号