替换()和匹配()的替代方案

时间:2015-02-22 23:11:35

标签: xpath xquery

我必须使用给定的XPath / XQuery-Processor,我不能使用replace()或matches()函数,因为它们不受支持。 但我需要他们的功能。 什么是好的选择? 我想做这样的事情:

用“”替换字符串中的“ - ”符号,表示我必须删除减号 例如:转

"--ssam----ple----string"

进入

"samplestring"

以后我需要 在结果字符串中查找某个字符串模式,例如

matches("samplestring", [a-z]*st[a-z]*)

但由于我不能使用替换或匹配,我不知道如何实现这一点。

由于

2 个答案:

答案 0 :(得分:2)

在您的特定情况下,请考虑fn:translate()

translate('--ssam----ple----string', '-', '')

fn:contains()

contains('samplestring', 'st')

答案 1 :(得分:0)

这是另一个解决方案(前提是您的处理器支持代码点功能):

contains(
  codepoints-to-string(
    string-to-codepoints("--ssam----ple----string")[. ne 45]
  )
, "st")