给定一个像这样的表格编号:

ABC_12345_Q-10

我要结束于:
ABC12345

所以我需要找到第二个下划线的位置

请注意,下划线之间的任何“部分”都没有标准的模式或长度(因此,我不能使用子字符串来简单地消除最后一部分)。

xPath 2.0解决方案还可以。

最佳答案

concat(
    substring-before($s, '_'),
    substring-before(substring-after($s, '_'), '_')
)

或者:
string-join(tokenize($s, '_')[position() <= 2], '')

关于XSLT:查找字符串中的最后一次出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3141847/

10-13 01:45