получить значение из входного сообщения (в этом сообщении нет пробела) - PullRequest
0 голосов
/ 29 мая 2018

У меня есть строка ввода, подобная этой, без пробелов

51 = 2MA011362X17 = MG127AJ4015AG1A20 = 022 = M35 = U48 = 9CVRVC449

Здесь число до = является ключом, а после является значением,Из этой строки мне нужно извлечь значение 17 = (в основном получить значение MG127AJ4015AG1A)

Я использовал <xsl:value-of select="substring-before(substring-after(.,'17='), '=')"/>, что дает мне результат: MG127AJ4015AG1A20, теперь я застрял с удалением этих последних 2 числовых значений (20).полностью сбит с толку, как это может быть достигнуто.

Конечная строка вывода должна быть - MG127AJ4015AG1A

1 Ответ

0 голосов
/ 29 мая 2018

Если это так, что число в конце всегда будет двумя цифрами, вы помещаете текущее выражение в переменную и используете подстроку для удаления двух последних символов, например:

<xsl:variable name="match" select="substring-before(substring-after(.,'17='), '=')" />
<xsl:value-of select="substring($match, 1, string-length($match) - 2)"/>
...