Материал из Викиновостей, свободного источника новостей
Этот шаблон реализован на основе
Lua с использованием функции
pos()
из модуля
String .
{{str index| текст | номер символа }}
возвращает символ с номером номер символа в тексте текст .
Номера символов отсчитываются от 1. Пробелы в начале и конце строки обрезаются перед поиском.
Число символов ограничено. Возвращает ошибку, если встречает неизвестный символ или номер больше длины строки.
{{str index|8.2.1834 (27.1)|10}}
→ (
{{str index|8.2.1834 (27.1)|11}}
→ 2
{{str index|8.2.1834 (27.1)|12}}
→ 7
{{str index|8.2.1834 (27.1)|13}}
→ .
{{str index|8.2.1834 (27.1)|14}}
→ 1
{{str index|0123456789ABCDEF|15}}
→ E
Замечено, что, к примеру, для реализации функции получения первого символа строки (конкретно — в шаблоне { { t} } ) шаблон {{ str left }} будет вдвое производительней данного (что начинает сказываться на времени загрузки страницы при нескольких сотнях вызовов шаблона).
Шаблоны обработки строк
По подсчету {{ 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 код символа.