在 XPath 1.0 中使用模式解析子字符串



我需要使用以下模式从 XPath 1.0 中的值解析子字符串:

ValueOfInterestStartOfPattern-1.2.xyz

带"-1.2"可以是可选的。我需要获得:

ValueOfInterest

有没有一个功能可以做到这一点?

有没有一个功能可以做到这一点?

是的:substring-before()


例如:

substring-before('ValueOfInterestStartOfPattern-1.2.xyz', 'StartOfPattern')

返回: "ValueOfInterest" .


编辑

我现在才注意到字符串的"xyz"部分不是可选的。你应该把它写成:

"ValueOfInterestStartOfPatternAnythingEndOfPattern"

使您的意图更清晰。要确保存在EndOfPattern("xyz")部分,请使用:

substring-before(substring-before($string, 'EndOfPattern'), 'StartOfPattern')

例如

substring-before(substring-before('ValueOfInterestStartOfPatternEndOfPattern', 'EndOfPattern'), 'StartOfPattern')

返回: "ValueOfInterest" ;

substring-before(substring-before('ValueOfInterestStartOfPatternAnythingEndOfPattern', 'EndOfPattern'), 'StartOfPattern')

返回: "ValueOfInterest" ;

substring-before(substring-before('ValueOfInterestStartOfPattern', 'EndOfPattern'), 'StartOfPattern')

返回一个空字符串;

substring-before(substring-before('ValueOfInterestStartOfPatternAnything', 'EndOfPattern'), 'StartOfPattern')

返回一个空字符串。

相关内容

  • 没有找到相关文章

最新更新