xslt - 复杂的 XSLT 字符串拆分?
问题描述
如何在 XSLT 中拆分此字符串
cast one : 'T','0','1','2'
cast two: 'T','0','1'
case three: 'T','0'
i tried substring but the result is wrong
substring-before(substring-after(String,','),',')
我希望拆分后的结果为 0
解决方案
对于XSLT 1.0 ,您可以为字符应用额外的substring-before()
和:substring-after()
'
substring-before(substring-after(substring-after("'T','0'", ','), "'"), "'")
对于XSLT 2.0 (及更高版本),还有其他选项。
您可以使用该tokenize()
函数将字符串拆分为,
,然后选择第二项,然后使用translate()
将'
字符转换为空:
translate(tokenize("'T','0','1','2'", ',')[2], "'", "")
或者代替translate()
,您可以使用replace()
正则表达式捕获组,然后选择单引号内的值:
replace(tokenize("'T','0','1','2'", ',')[2], "'(.*)'", "$1")
推荐阅读
- sql - 不匹配列表之间的联合
- python - 修改查询以排除软删除记录
- python - 将列 df 值附加到另一个 df
- javascript - 将多行占位符添加到 textarea 输入的非 JQuery 跨浏览器解决方案
- igraph - 在 R 中使用两个边缘属性对 ERGM 进行建模
- java - 方法返回以整数和字符串为参数的数组字符串
- spring - Spring boot Kafka - 对 Avro 对象序列化和用例的困惑
- javascript - react useMemo 是否比模块级变量更高效?
- javascript - 在单击 href 时显示文本
- c++ - 静态成员和分离线程本身的释放顺序