Главная » XSLT » Завершается ли данная строка указанной подстрокой?

0

Задача

Требуется проверить, завершается ли некоторая строка указанной под­строкой.

Решение

XSLT 1.0

substring($value, (string-length($value) – string-length($substr)) + 1)

= $substr

XSLT 2.0

ends-with($value, $substr)

Обсуждение

В XSLT 1.0 есть встроенная функция starts-with(), но нет функции ends-with(). В версии 2.0 это исправлено. Однако, как видно из примера выше, функцию ends-with() в XPath 1.0 можно реализовать в терминах функций substring() и string-length(). Мы просто извлекаем последние string- length($substr) символов из проверяемой строки и сравниваем их с подстрокой.

 Программисты, привыкшие к тому, что нумерация символов в строке начи­нается с 0, должны помнить, что в XSLT номер первой позиции равен 1.

Мангано Сэл  XSLT. Сборник рецептов. – М.: ДМК Пресс, СПБ.: БХВ-Петербург, 2008. – 864 с.: ил.

По теме:

  • Комментарии