xquery - 在 Xquery 中反转字段中的数据
问题描述
我有如下输入字段
<BID>123-HSB-456789</BID>
我想在哪里反转该字段的内容我的预期结果应该如下所示
<BID>456789-HSB-123</BID>
我什至尝试过反向功能....但它不起作用
https://xqueryfiddle.liberty-development.net/nc4P6yf/1
这里有任何帮助
解决方案
您只给出了一个测试用例,而一个测试用例没有制定规范。例如,您没有告诉我们元素的值是否总是包含两个连字符。
这里有三个表达式可以满足你在这个测试用例上的需要,但它们并不等价,并且会对不同的测试用例做不同的事情:
tokenize($in, '-') => reverse() => string-join('-')
replace($in, '([0-9]*)-([A-Z]*)-([0-9]*), '$3-$2-$1')
substring($in, 12, 3) || '-' || substring($in, 8, 3) || '-' || substring($in, 1, 6)
PS 请确保您在使用之前了解代码,并在一系列输入上对其进行测试。
PP.S. 这里有一些结构需要 XQuery 3.0 或 3.1。
推荐阅读
- php - 在php中将索引数组转换为二维数组的最佳方法
- python - 导入文件名是灰色的
- python - 如何在 move_dict 中的“say_this”中去掉下划线?
- android - 如何制作自定义对话框
- blazor - Blazor - textarea 绑定到 oninput,但当文本区域的值使用 javascript 更改时不会被调用
- javascript - 如何使用 React Konva Image 将画布重新绘制到自身上?
- r - 如何在 R 中创建关系矩阵?
- php - 对于巨大的表格数据,使用 div 标签是否比使用 table tr 和 td 标签更快?
- javascript - 跨字符串数组映射以生成“选择”选项(反应/节点)
- reactjs - 仅在流星订阅完成后如何在反应组件构造函数中设置初始状态值