XPath 1.0, отдельные шаги для потомков:
substring-before('2120.555.11111', '.') # '2120'
concat('2120', '.') # '2120.'
substring-after('2120.555.11111', '2120.') # '555.11111'
substring-after('555.11111', '.') # '11111'
concat('2120.', '11111') # '2120.11111'
вместе взятые, при условии, что <X>
содержит '2120.555.11111'
:
concat(
concat(substring-before(X, '.'), '.'),
substring-after(substring-after(X, concat(substring-before(X, '.'), '.')), '.')
)
XPath 2.0+ более гибок в обработке строк, это один из способов сделать это:
string-join(tokenize(X, '\.')[position() = 1 or position() = 3], '.')