Этот шаблон реализован на основе
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
}}
Выводит символы от начала строки до N или дублирует строку до N символов.
{{
str left
}}
Выводит символы от начала строки до N или дублирует строку до N символов.
{{
str crop
}}
Удаляет с правой стороны строки N символов.
{{
обрезать слева и справа
}}
Удаляет с обеих сторон строки N символов.
{{
str right
}}
Выводит символы от N до конца строки.
{{
str rightc
}}
Выводит правую часть строки из заданного количества символов.
{{
str sub
}}
Удаляет слева N символов и оставляет L.
{{
str sub new
}}
Выбирает из строки подстроку на основе выбранных индексов.
{{
str index
}}
Выводит из строки один символ под номером N.
По проверке
{{
delink
}}
Удаляет из строки вики-ссылки, оставляя их текст.
{{
удалить теги
}}
Удаляет из строки все html-теги, оставляя их содержимое.
{{
удалить префикс файла
}}
Вырезает из названия файла пространство имён.
{{
str trim
}}
Удаляет пробелы справа и слева.
{{
-.
}}
Удаляет из конца строки точку (одну).
{{
-года
}}
Удаляет из строки все вхождения слов «год», «года», «г.» и «гг.».
{{
без кв. скобок
}}
Удаляет из строки крайние парные квадратные скобки.
{{
без начала
}}
Удаляет из строки подстроку, совпадающую с началом строки.
{{
без пунктуации
}}
Удаляет из строки знаки пунктуации.
{{
без символа
}}
Удаляет из строки первое вхождение символа.
Вставка и замена строк
{{
}}
Вставляет подстроку в указанное место строки или приписывает её к концу, если
strloc
<= 0.
{{
multi
}}
Выводит строку указанное количество раз.
{{
replace
}}
Заменяет в строке все включения подстроки.
{{
multireplace
}}
Заменяет в строке несколько символов или групп символов.
{{
без кирлата
}}
Исправляет текст, набранный
смесью визуально неразличимой кириллицы и латиницы
, заменяя латинские буквы идентичными по начертанию кириллическими и наоборот.
{{
str rep
}}
Заменяет в строке указанное количество включений подстроки.
{{
в 2 кв. скобках
}}
Викифицирует первый параметр, если он не викифицирован.
{{
вложенные кавычки
}}
Заменяет в строке все парные кавычки-ёлочки («») на кавычки-лапки („“).
{{
курсив или кавычки
}}
Если строка содержит кириллицу, оборачивает её в кавычки, если латиницу, выделяет курсивом.
{{
курсив или нет
}}
Если строка содержит латиницу, выделяет её курсивом.
{{
локатив
}}
Переводит слова в предложный падеж (препозитив).
{{
в стране
}}
Девикифицирует и переводит в предложный падеж название страны с добавлением предлога.
{{
страна в родительном падеже
}}
Девикифицирует и переводит в родительный падеж название страны.
{{
нр
}}
Переводит видимую часть ссылки в нижний регистр.
{{
первое последним
}}
Делает первое слово строки последним.
{{
сначала имя
}}
Меняет порядок с «Фамилия, Имя Отчество» на «Имя Отчество Фамилия».
{{
год-года-лет
}}
Добавляет к цифровой записи количества лет слово «год», «года» или «лет» в нужном числе и падеже.
{{
+года
}}
Добавляет к последней цифре слово «года».
{{
±.
}}
Добавляет точку к концу произвольного текста, если её там нет.
{{
.±
}}
Делает то же, что и предыдущий, но различает в конце параметра неразрывный пробел.
Анализ строк
{{
str len
}}
Выводит длину строки в символах.
{{
str ≥ len
}}
Проверяет, больше или равна длина строки в символах указанному числу.
{{
str ≤ len
}}
Проверяет, меньше или равна длина строки в символах указанному числу.
{{
str ≠ len
}}
Проверяет, равна ли длина строки в символах указанному числу.
{{
}}
Сравнивает длину строки с заданным числом.
{{
str endswith
}}
Проверяет, заканчивается ли строка указанной подстрокой.
{{
str find
}}
Выводит позицию первого вхождения подстроки в текст.
{{
str sub find
}}
Ищет в строке подстроку с заданным отступом от начала.
{{
is numeric
}}
Проверяет, является ли строка числом.