Перейти к содержанию

substring()

Функция substring возвращает подстроку переданного ей строкового аргумента, которая начинается с позиции, указанной вторым аргументом и длиной, указанной третьим аргументом.

Если третий аргумент опущен, подстрока продолжается до конца строки. Если численные аргументы являются нецелыми, они округляются при помощи функции round.

Синтаксис

string substring( string, number, number? )

Описание и примеры

В XPath позицией первого символа является 1, а не 0, как в некоторых других языках программирования.

При вычислении подстроки учитываются следующие условия.

  • Если первый численный аргумент меньше 1 (это относится и к отрицательной бесконечности), то подстрока начинается с начала строки.
  • Если первый численный аргумент больше длины строки (это относится и к положительной бесконечности), то подстрока будет пустой.
  • Если второй численный аргумент меньше 0.5 (это относится и к отрицательной бесконечности), то подстрока будет пустой.
  • Если второй численный аргумент, сложенный с первым, больше длины строки плюс один, подстрока будет продолжаться до конца строки.

Примеры

substring('123456', 1, 3) ? '123'
substring('123456', 0.1, 3) ? '123'
substring('123456', 0, 3) ? '123'
substring('123456', -4) ? '123456'
substring('123456', 2, 3) ? '234'
substring('123456', 2, 5) ? '23456'
substring('123456', 2, 6) ? '23456'
substring('123456', 2) ? '23456'
substring('123456', 5, 0.5) ? '5'
substring('123456', 5, 0.499) ? ''
substring('123456', 5, -1) ? ''
substring('123456', 5) ? '56'
substring('123456', 6) ? '6'
substring('123456', (1 div 0)) ? ''

Ссылки