是否可以使用xpath查找30个以上字符的单词,并在第n个字符后添加空格?
示例输入:
<root>
<text>Lorem ipsum dolor sit ametametamet. E Atveroeoseaccusametjustoduodoloresetearebum. Stet clita kasdameta.</text>
</root>
所需支出
Lorem ipsum dolor sit ametametamet. E Atveroeose accusametj ustoduodol oreseteare bum. Stet clita kasdameta.
目前我有这个工作方法
replace(/root/text, '([^ ]{10})', concat('$1', ' '))
哪个产量
Lorem ipsum dolor sit ametametam et. E Atveroeose accusametj ustoduodol oreseteare bum. Stet clita kasdameta.
我考虑过将两个替换功能组合在一起,但这并不能达到预期的结果。
replace(/root/text, '([^ ]{30})', replace('$1', '(([^ ]{10}))', concat('$2', ' ')))
产生原始字符串
Lorem ipsum dolor sit ametametamet. E Atveroeoseaccusametjustoduodoloresetearebum. Stet clita kasdameta.
答案 0 :(得分:0)
您的方法行得通,您只是错误地使用了反向引用。像这样尝试。
replace(/root/text, '[^ ]{30}', replace('$1', '[^ ]{10}', concat('$0', ' ')))
PS:我也尝试过tokenize(text, "(?<=\G[^\s]{10})")
,但是XPath / XSLT不支持必需的正则表达式功能。