Шаблон:Str mid

Материал из wikixw
Версия от 17:58, 21 июня 2023; Cc82737 viki (обсуждение | вклад) (Новая страница: «{{str mid/core | s={{{1|}}} | i={{#if:{{{2|}}}}|{{{2|}}}|{{#ifexpr:({{#if:{{{3|}}}|1|0}} and {{#if:{{{4|}}}|1|0}})|{{#expr:{{min|{{{4|}}}|{{#invoke:String|len|{{trim|{{{1|}}}}}}}}}-{{{3|}}}+{{#ifexpr:{{{3|}}}<0|-1|1}}}}|1}}}} | j={{min|{{#invoke:String|len|{{trim|{{{1|}}}}}}}|{{#if:{{{4|}}}|{{{4|}}}|{{#if:{{{3|}}}|{{#expr:{{#if:{{{2|}}}|{{{2|}}}|1}}+{{{3|}}}+{{#ifexpr:{{{3|}}}<0|1|-1}}}}|}}}}}} | slen={{#invoke:String|len|{{trim|{{{1|}}}}}}} | sublen={{forma...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Документация
  • {{Str mid}}
  • {{Str mid/core}}
  • {{Str mid/testcases}}

Использование

Символы в исходной строке нумеруются с единицы до длины строки. Подстрока определятся двумя индексами. {{str mid|<строка>|<индекс первого символа>|<длина подстроки>|<индекс последнего символа>}}

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|5|3}} → efg

Если второй параметр опущен, подстрока берётся с начала строки:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz||5}} → Abcde

Если третий параметр опущен, подстрока берётся до конца строки:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|15}}Ошибка модуля String: Значение индекса подстроки выходит за допустимые границы

Если вместо третьего параметра задать четвёртый, то будет возвращена подстрока по символ с таким номером:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|5||7}} → efg

Подсчёт с конца

При введении отрицательных значений, индексы считаются с обратной стороны:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7|4}} → tuvw
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|-7}}Ошибка модуля String: Значение индекса подстроки выходит за допустимые границы

Пробелы

В результирующей строке пробелы обрезаются:

  • >{{str mid|I like this.|2|6}}< → >like<

Исходная строка до обработки от них тоже избавляется:

  • >{{str mid| I like this. |2|6}}< → >like<

Сообщения об ошибках

При выходе за границы строки выбрасывается ошибка:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|30}}Ошибка модуля String: Значение индекса подстроки выходит за допустимые границы
  • {{str mid|Abcdefghijklmnopqrstuvwxyz|0|45}}Ошибка модуля String: Значение индекса подстроки выходит за допустимые границы

При установке |ignore errors=true вместо ошибки возвращается пустая строка:

  • {{str mid|Abcdefghijklmnopqrstuvwxyz|0|45|ignore errors=true}}

Категория ошибок

  • |no category=true отключает добавление в категорию.
  • |error category=[[Категория:Название категории]] позволяет заменять категорию, в которую заносятся страницы с ошибками.
По умолчанию используется Категория:Страницы с ошибками модуля String.

См. также

  • {{str sub}} — индексы нумеруются с нуля.