如何从xpath表达式中删除文本

时间:2013-08-08 04:54:06

标签: java xpath

我有以下 xpath 表达式

//pre//strong[@class='messageText']

给我出了

"this output O/13-1405 is valid for this scenario"

我需要的是只获取"O/13-1405"这应该是通用的,因为每个测试在文本中都有不同的输出

1 个答案:

答案 0 :(得分:0)

如果此模式已修复(或者您可以直接在所需子字符串周围找到固定且不同的模式),则可以使用substring-beforesubstring-after来减少结果:

substring-after(substring-before(//pre//strong[@class='messageText'], ' is valid for this scenario'), 'this output ')

如果输出的长度始终完全相同,您也可以使用substring($text, $start, $length)


如果你需要grep out of any text并需要正则表达式,你需要使用Java代码或嵌入另一个XPath处理器,它至少支持XPath 2.0(Saxon可以很容易地嵌入)。