Этот шаблон реализован на основе
Lua с использованием функции
pos()
из модуля
String .
Символы в исходной строке нумеруются с единицы до длины строки. Подстрока определятся двумя индексами.
{{str mid|<строка>|<индекс первого символа>|<длина подстроки>|<индекс последнего символа>}}
{{str mid|Abcdefghijklmnopqrstuvwxyz|5|3}}
→ efg
Если второй параметр опущен, подстрока берётся с начала строки:
{{str mid|Abcdefghijklmnopqrstuvwxyz||5}}
→ Abcde
Если третий параметр опущен, подстрока берётся до конца строки:
{{str mid|Abcdefghijklmnopqrstuvwxyz|15}}
→ opqrstuvwxyz
Если вместо третьего параметра задать четвёртый, то будет возвращена подстрока по символ с таким номером:
{{str mid|Abcdefghijklmnopqrstuvwxyz|5||7}}
→ efg
При введении отрицательных значений, индексы считаются с обратной стороны:
{{str mid|Abcdefghijklmnopqrstuvwxyz|-7|4}}
→ tuvw
{{str mid|Abcdefghijklmnopqrstuvwxyz|-7}}
→ tuvwxyz
В результирующей строке пробелы обрезаются:
>{{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 }} — индексы нумеруются с нуля.
Шаблоны обработки строк
По подсчету {{ str mid }} Возвращает подстроку длиной L, начиная с позиции N.
{{ trunc }} Возвращает заданное количество символов с начала строки.
{{ str left }} Возвращает символы от начала строки до N.
{{ str crop }} Удаляет справа из строки заданное количество символов.
{{ обрезать слева и справа }} Удаляет с обеих сторон указанное число символов.
{{ str right }} Возвращает символы от N до конца строки.
{{ str rightc }} Возвращает правую часть строки из заданного количества символов.
{{ str sub }} Удаляет слева N символов и оставляет L.
{{ str sub new }} Выбирает подстроку из строки на основе выбранных индексов.
{{ str index }} Возвращает из строки один символ под заданным номером N.
По проверке {{ delink }} Удаляет из строки вики-ссылки, оставляя их текст.
{{ удалить теги }} Удаляет из строки все html-теги, оставляя их содержимое.
{{ remove file prefix }} Вырезает пространство имен из названия файла.
{{ str trim }} Удаляет пробелы справа и слева.
{{ -. }} Удаляет точку (одну) из конца параметра.
{{ -года }} Удаляет вхождение слов «года» (также «г.», «гг.», «год») из параметра.
{{ без кв. скобок }} Удаляет крайние парные квадратные скобки из строки.
{{ без начала }} Удаляет из строки подстроку, совпадающую с началом строки.
{{ без пунктуации }} Удаляет из строки знаки пунктуации.
{{ без символа }} Удаляет из строки первое вхождение символа.
Вставка и замена строк
{{ вставить строку }} Вставляет подстроку в указанное место строки, или приписывает её к концу, если strloc<=0
.
{{ multi }} Выводит строку указанное количество раз.
{{ replace }} Заменяет в строке все включения подстроки.
{{ multireplace }} Заменяет в строке несколько символов или групп символов.
{{ str rep }} Заменяет в строке указанное количество включений подстроки.
{{ в 2 кв. скобках }} Викифицирует первый параметр, если он уже не викифицирован.
{{ вложенные кавычки }} Заменяет в строке все парные кавычки-ёлочки («») на кавычки-лапки („“).
{{ курсив или кавычки }} Если строка содержит кириллицу, оборачивает ее в кавычки, если латиницу, то выделяет курсивом.
{{ курсив или нет }} Если строка содержит латиницу, то выделяет ее курсивом.
{{ локатив }} Склоняет слова в предложный падеж (препозитив).
{{ в стране }} Девикифицирует и переводит в предложный падеж название страны с добавлением предлога.
{{ страна в родительном падеже }} Девикифицирует и переводит в родительный падеж название страны.
{{ нр }} Переводит видимую часть ссылки в нижний регистр.
{{ сначала имя }} Меняет порядок с «Фамилия, Имя Отчество» на «Имя Отчество Фамилия».
{{ +года }} Добавляет к последней цифре слово «года».
{{ ±. }} Добавляет точку к концу произвольного текста, если её там нет.
{{ .± }} Делает то же, что и предыдущий, но различает в конце параметра неразрывный пробел.
Анализ строк
{{ str len }} Возвращает длину строки.
{{ str ≥ len }} Проверяет, больше либо равна ли длина строки указанному числу.
{{ str ≤ len }} Проверяет, меньше либо равна ли длина строки указанному числу.
{{ str ≠ len }} Проверяет, равна ли длина строки указанному числу.
{{ str ≤ ≥ len }} Сравнивает длину строки с заданным числом.
{{ str endswith }} Проверяет, заканчивается ли строка указанной подстрокой.
{{ str find }} Позиция первого вхождения подстроки в текст.
{{ str sub find }} Ищет подстроку в строке с заданным отступом от начала.
{{ ASCII code }} Возвращает ASCII код символа.