Модуль:String/doc: различия между версиями
мНет описания правки |
м (→str_find: "не рекомендуется" — и не надо) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 62: | Строка 62: | ||
Если введённые индексы по модулю больше длины целевой строки, то выводится сообщение об ошибке. | Если введённые индексы по модулю больше длины целевой строки, то выводится сообщение об ошибке. | ||
== sublength == | == sublength == | ||
С помощью этой функции реализован шаблон | С помощью этой функции реализован шаблон [https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Str_sub Str sub] на Википедии. Он возвращает подстроку целевой строки, начинающуюся с указанного индекса и имеющую указанную длину. | ||
== match == | == match == | ||
Функция возвращает часть целевой строки, которая соответствует заданной строке. | Функция возвращает часть целевой строки, которая соответствует заданной строке. | ||
; Использование | ; Использование | ||
: <code><nowiki>{{#invoke:</nowiki>String|match|''исходная_строка''|''заданная_строка''|''начальный_индекс''|''номер_совпадения''|''true | : <code><nowiki>{{#invoke:</nowiki>String|match|''исходная_строка''|''заданная_строка''|''начальный_индекс''|''номер_совпадения''|''true\false''|''значение_если_нет_совпадений''}}</code> | ||
: или | : или | ||
: <code><nowiki>{{#invoke:</nowiki>String|match|s= ''исходная_строка'' |pattern= ''заданная_строка'' |start= ''начальный_индекс''|match= ''номер_совпадения''|plain= ''true | : <code><nowiki>{{#invoke:</nowiki>String|match|s= ''исходная_строка'' |pattern= ''заданная_строка'' |start= ''начальный_индекс''|match= ''номер_совпадения''|plain= ''true\false'' |nomatch= ''значение_если_нет_совпадений'' }}</code> | ||
; Параметры | ; Параметры | ||
{| | {| | ||
| | |<code>s</code>: | ||
|Целевая строка, часть которой необходимо найти. | |Целевая строка, часть которой необходимо найти. | ||
|- | |- | ||
| | |<code>pattern</code>: | ||
|Строка, совпадение с которой необходимо найти в целевой строке. | |Строка, совпадение с которой необходимо найти в целевой строке. | ||
|- | |- | ||
| | |<code>start</code>: | ||
|Порядковый номер символа, начиная с которого необходимо произвести поиск совпадения. По умолчанию — | |Порядковый номер символа, начиная с которого необходимо произвести поиск совпадения. По умолчанию — <code>1</code>. Если начиная с заданного символа совпадений не найдено, функция возвращает сообщение об ошибке. | ||
|- | |- | ||
| | |<code>match</code>: | ||
|В некоторых случаях может оказаться несколько совпадений с заданной строкой в одной целевой строке. Параметр задает номер совпадения, которое необходимо вывести. Если параметру присвоено отрицательное значение, то оно распознается модулем как порядковый номер совпадения, отсчитываемый с конца строки. Другими словами, значение | |В некоторых случаях может оказаться несколько совпадений с заданной строкой в одной целевой строке. Параметр задает номер совпадения, которое необходимо вывести. Если параметру присвоено отрицательное значение, то оно распознается модулем как порядковый номер совпадения, отсчитываемый с конца строки. Другими словами, значение <code>-1</code> распознается модулем как порядковый номер последнего совпадения в строке. По умолчанию — 1. | ||
|- | |- | ||
| | |<code>plain</code>: | ||
|Если параметру присвоено значение | |Если параметру присвоено значение <code>true</code>, функция воспринимает заданную строку как обычный текст, а не [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru#Шаблоны регулярное выражение]. По умолчанию — <code>false</code>. | ||
|- | |- | ||
| | |<code>nomatch</code>: | ||
|Последовательность символов, выводимая строкой в случае отсутствия совпадений вместо сообщения об ошибке. | |Последовательность символов, выводимая строкой в случае отсутствия совпадений вместо сообщения об ошибке. | ||
|} | |} | ||
Если введённый индекс по модулю больше длины целевой строки или совпадений найдено меньше, чем число, заданное в параметре | Если введённый индекс по модулю больше длины целевой строки или совпадений найдено меньше, чем число, заданное в параметре <code>match</code>, то выводится сообщение об ошибке. | ||
Если добавить параметр | Если добавить параметр <code>ignore_errors=true</code>, то вместо любого из сообщений об ошибке будет возвращена пустая строка. | ||
Подробнее о | Подробнее о регулярных выражениях, используемых в Lua, см. [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru#Шаблоны Руководство по метасимволам]. | ||
== pos == | == pos == | ||
Функция возвращает один символ из целевой строки под заданным порядковым номером. | Функция возвращает один символ из целевой строки под заданным порядковым номером. | ||
Строка 100: | Строка 102: | ||
; Параметры | ; Параметры | ||
{| | {| | ||
| | |<code>target</code>: | ||
|Строка, в которой производится поиск символа. | |Строка, в которой производится поиск символа. | ||
|- | |- | ||
| | |<code>pos</code>: | ||
|Порядковый номер возвращаемого символа | |Порядковый номер возвращаемого символа | ||
|} | |} | ||
Если параметру | Если параметру <code>pos</code> присвоено отрицательное значение, то оно распознается модулем как порядковый номер символа, отсчитываемый с конца строки. Другими словами, значение <code>-1</code> распознается модулем как порядковый номер последнего символа в строке. | ||
Если заданный порядковый номер равен 0 или больше длины строки, функция возвращает сообщение об ошибке. | Если заданный порядковый номер равен 0 или больше длины строки, функция возвращает сообщение об ошибке. | ||
== find == | == find == | ||
Функция позволяет выполнить поиск целевой строки в другой строке. | Функция позволяет выполнить поиск целевой строки в другой строке. | ||
; Использование | ; Использование | ||
: <code><nowiki>{{#invoke:</nowiki>String|find|''исходная_строка''|''целевая_строка''|''начальный_индекс''|''true | : <code><nowiki>{{#invoke:</nowiki>String|find|''исходная_строка''|''целевая_строка''|''начальный_индекс''|''true\false''}}</code> | ||
: или | : или | ||
: <code><nowiki>{{#invoke:</nowiki>String|find|source= ''исходная_строка'' |target= ''целевая_строка'' |start= ''начальный_индекс''|plain= ''true | : <code><nowiki>{{#invoke:</nowiki>String|find|source= ''исходная_строка'' |target= ''целевая_строка'' |start= ''начальный_индекс''|plain= ''true\false'' }}</code> | ||
; Параметры | ; Параметры | ||
{| | {| | ||
| | |<code>source</code>: | ||
|Строка, в которой ведется поиск целевой строки. | |Строка, в которой ведется поиск целевой строки. | ||
|- | |- | ||
| | |<code>target</code>: | ||
|Целевая строка, которая ищется в другой строке. | |Целевая строка, которая ищется в другой строке. | ||
|- | |- | ||
| | |<code>start</code>: | ||
|Порядковый номер символа, начиная с которого ведется поиск совпадений. Значение по умолчанию — 1. | |Порядковый номер символа, начиная с которого ведется поиск совпадений. Значение по умолчанию — 1. | ||
|- | |- | ||
| | |<code>plain</code>: | ||
|Если параметру присвоено значение | |Если параметру присвоено значение <code>true</code, функция воспринимает заданную строку как обычный текст, а не [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru#Шаблоны регулярное выражение]. По умолчанию — <code>true</code>. | ||
|} | |} | ||
Функция возвращает значение, большее либо равное значению параметра | Функция возвращает значение, большее либо равное значению параметра <code>start</code>. Если совпадений не найдено, функция возвращает <code>0</code>, если одна из строк пустая или не задана, функция также возвращает <code>0</code>. | ||
== replace == | == replace == | ||
Функция позволяет заменить целевую строку в другой строке. | Функция позволяет заменить целевую строку в другой строке. | ||
; Использование | ; Использование | ||
: <code><nowiki>{{#invoke:</nowiki>String|replace|''исходная_строка''|''целевая_строка''|''заменяющая_строка''|''количество_замен''|''true | : <code><nowiki>{{#invoke:</nowiki>String|replace|''исходная_строка''|''целевая_строка''|''заменяющая_строка''|''количество_замен''|''true\false''}}</code> | ||
: или | : или | ||
: <code><nowiki>{{#invoke:</nowiki>String|replace|source= ''исходная_строка'' |pattern= ''целевая_строка''|replace= ''заменяющая_строка'' |count= ''количество_замен'' |plain= ''true | : <code><nowiki>{{#invoke:</nowiki>String|replace|source= ''исходная_строка'' |pattern= ''целевая_строка''|replace= ''заменяющая_строка'' |count= ''количество_замен'' |plain= ''true\false'' }}</code> | ||
; Параметры | ; Параметры | ||
{|сlass="simple" | {|сlass="simple" | ||
| | |<code>source</code>: | ||
|Строка, в которой ведется поиск. | |Строка, в которой ведется поиск. | ||
|- | |- | ||
| | |<code>pattern</code>: | ||
|Строка, которая ищется в исходной строке. | |Строка, которая ищется в исходной строке. | ||
|- | |- | ||
| | |<code>replace</code>: | ||
|Строка, заменяющая целевую. | |Строка, заменяющая целевую. | ||
|- | |- | ||
| | |<code>count</code>: | ||
|Количество заменяемых совпадений; по умолчанию — все. | |Количество заменяемых совпадений; по умолчанию — все. | ||
|- | |- | ||
| | |<code>plain</code>: | ||
|Если параметру присвоено значение | |Если параметру присвоено значение <code>true</code>, функция воспринимает заданную строку как обычный текст, а не [https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru#Шаблоны регулярное выражение]. По умолчанию — <code>true</code>. | ||
|} | |} | ||
== rep == | == rep == | ||
Строка 162: | Строка 161: | ||
; Параметры | ; Параметры | ||
{| | {| | ||
| | |<code>source</code>: | ||
|Строка, которую необходимо повторить ''n'' раз. | |Строка, которую необходимо повторить ''n'' раз. | ||
|- | |- | ||
| | |<code>count</code>: | ||
|Количество повторов. | |Количество повторов. | ||
|} | |} | ||
; Пример | ; Пример | ||
<code><nowiki>{{#invoke:String|rep|привет!|3}}</nowiki></code> → {{#invoke:String|rep|привет!|3}} | <code><nowiki>{{#invoke:String|rep|привет!|3}}</nowiki></code> → {{#invoke:String|rep|привет!|3}} |
Текущая версия от 11:43, 3 июля 2024
Этот модуль предназначен для обеспечения доступа к основным строковым функциям. Большая часть функций, имеющихся в модуле, может быть вызвана именованными, неименованными параметрами или обоими вариантами. Если используются именованные параметры, движок Mediawiki автоматически удаляет любые начальные или конечные пробелы из параметра. В зависимости от предполагаемого использования может быть предпочтительным либо сохранение, либо удаление таких пробелов.
Глобальные параметры[править]
ignore_errors :
|
Если параметру присвоено значение true или 1 , вместо любого сообщения об ошибке выводится пустая строка.
|
error_category :
|
В случае возникновения ошибки определяет название категории, в которую помещается страница с сообщением об ошибке. По умолчанию помещается в Категория:Страницы с ошибками модуля String. |
no_category :
|
Если параметру присвоено значение true или 1 , то в случае сообщения об ошибке страница не будет помещена в соответствующую категорию.
|
subcount[править]
Функция возвращает количество подстрок внутри строки.
- Использование
{{#invoke:String|subcount|исходная_строка|подстрока|true\false}}
- или
{{#invoke:String|subcount|s=исходная_строка|pattern=подстрока|plain=true\false}}
- Параметры
s :
|
Целевая строка, часть которой необходимо найти. |
pattern :
|
Строка, совпадение с которой необходимо найти в целевой строке. |
plain :
|
Если параметру присвоено значение false , функция воспринимает заданную строку как регулярное выражение. По умолчанию — true .
|
len[править]
Функция возвращает длину целевой строки.
- Использование
{{#invoke:String|len|целевая_строка}}
- или
{{#invoke:String|len|s= целевая_строка }}
- Параметры
s :
|
Строка, длину которой необходимо найти. |
sub[править]
Функция возвращает часть целевой стоки между указанными индексами (порядковыми номерами символов в целевой строке)
- Использование
{{#invoke:String|sub|целевая_строка|начальный_индекс|конечный_индекс}}
- или
{{#invoke:String|sub|s= целевая_строка |i= начальный_индекс |j= конечный_индекс }}
- Параметры
s :
|
Строка, часть которой необходимо вывести. |
i :
|
Порядковый номер символа, начиная с которого необходимо вывести строку. Значение по умолчанию — 1. |
j :
|
Порядковый номер символа, до которого необходимо вывести строку. Значение по умолчанию — порядковый номер последнего символа. |
Первому символу строки присваивается индекс 1
. Если параметрам i
или j
присвоено отрицательное значение, то оно распознается модулем как порядковый номер символа, отсчитываемый с конца строки. Другими словами, значение -1
распознается модулем как порядковый номер последнего символа в строке.
Если введённые индексы по модулю больше длины целевой строки, то выводится сообщение об ошибке.
sublength[править]
С помощью этой функции реализован шаблон Str sub на Википедии. Он возвращает подстроку целевой строки, начинающуюся с указанного индекса и имеющую указанную длину.
match[править]
Функция возвращает часть целевой строки, которая соответствует заданной строке.
- Использование
{{#invoke:String|match|исходная_строка|заданная_строка|начальный_индекс|номер_совпадения|true\false|значение_если_нет_совпадений}}
- или
{{#invoke:String|match|s= исходная_строка |pattern= заданная_строка |start= начальный_индекс|match= номер_совпадения|plain= true\false |nomatch= значение_если_нет_совпадений }}
- Параметры
s :
|
Целевая строка, часть которой необходимо найти. |
pattern :
|
Строка, совпадение с которой необходимо найти в целевой строке. |
start :
|
Порядковый номер символа, начиная с которого необходимо произвести поиск совпадения. По умолчанию — 1 . Если начиная с заданного символа совпадений не найдено, функция возвращает сообщение об ошибке.
|
match :
|
В некоторых случаях может оказаться несколько совпадений с заданной строкой в одной целевой строке. Параметр задает номер совпадения, которое необходимо вывести. Если параметру присвоено отрицательное значение, то оно распознается модулем как порядковый номер совпадения, отсчитываемый с конца строки. Другими словами, значение -1 распознается модулем как порядковый номер последнего совпадения в строке. По умолчанию — 1.
|
plain :
|
Если параметру присвоено значение true , функция воспринимает заданную строку как обычный текст, а не регулярное выражение. По умолчанию — false .
|
nomatch :
|
Последовательность символов, выводимая строкой в случае отсутствия совпадений вместо сообщения об ошибке. |
Если введённый индекс по модулю больше длины целевой строки или совпадений найдено меньше, чем число, заданное в параметре match
, то выводится сообщение об ошибке.
Если добавить параметр ignore_errors=true
, то вместо любого из сообщений об ошибке будет возвращена пустая строка.
Подробнее о регулярных выражениях, используемых в Lua, см. Руководство по метасимволам.
pos[править]
Функция возвращает один символ из целевой строки под заданным порядковым номером.
- Использование
{{#invoke:String|pos|целевая_строка|значение_индекса}}
- или
{{#invoke:String|pos|target= целевая_строка |pos= значение_индекса }}
- Параметры
target :
|
Строка, в которой производится поиск символа. |
pos :
|
Порядковый номер возвращаемого символа |
Если параметру pos
присвоено отрицательное значение, то оно распознается модулем как порядковый номер символа, отсчитываемый с конца строки. Другими словами, значение -1
распознается модулем как порядковый номер последнего символа в строке.
Если заданный порядковый номер равен 0 или больше длины строки, функция возвращает сообщение об ошибке.
find[править]
Функция позволяет выполнить поиск целевой строки в другой строке.
- Использование
{{#invoke:String|find|исходная_строка|целевая_строка|начальный_индекс|true\false}}
- или
{{#invoke:String|find|source= исходная_строка |target= целевая_строка |start= начальный_индекс|plain= true\false }}
- Параметры
source :
|
Строка, в которой ведется поиск целевой строки. |
target :
|
Целевая строка, которая ищется в другой строке. |
start :
|
Порядковый номер символа, начиная с которого ведется поиск совпадений. Значение по умолчанию — 1. |
plain :
|
Если параметру присвоено значение true</code, функция воспринимает заданную строку как обычный текст, а не регулярное выражение. По умолчанию — |
Функция возвращает значение, большее либо равное значению параметра start
. Если совпадений не найдено, функция возвращает 0
, если одна из строк пустая или не задана, функция также возвращает 0
.
replace[править]
Функция позволяет заменить целевую строку в другой строке.
- Использование
{{#invoke:String|replace|исходная_строка|целевая_строка|заменяющая_строка|количество_замен|true\false}}
- или
{{#invoke:String|replace|source= исходная_строка |pattern= целевая_строка|replace= заменяющая_строка |count= количество_замен |plain= true\false }}
- Параметры
source :
|
Строка, в которой ведется поиск. |
pattern :
|
Строка, которая ищется в исходной строке. |
replace :
|
Строка, заменяющая целевую. |
count :
|
Количество заменяемых совпадений; по умолчанию — все. |
plain :
|
Если параметру присвоено значение true , функция воспринимает заданную строку как обычный текст, а не регулярное выражение. По умолчанию — true .
|
rep[править]
Функция возвращает строку, состоящую из повторений n раз исходной строки.
- Использование
{{#invoke:String|rep|строка|количество_повторов}}
- Параметры
source :
|
Строка, которую необходимо повторить n раз. |
count :
|
Количество повторов. |
- Пример
{{#invoke:String|rep|привет!|3}}
→ привет!привет!привет!