|
|
Строка 1: |
Строка 1: |
| {{Navbox with collapsible groups | | {{docpage}}{{esoteric}}__NOTOC__ |
| | name = String-handling templates
| | '''{{t}}''' — шаблон-суперкомбайн для создания символической записи или ссылок на шаблоны, во стократ улучшенная версия {{t|tl}}. С помощью него можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё. |
| | state = {{{state|uncollapsed}}}
| |
| | bodyclass =
| |
| | title = Шаблоны обработки строк (String-handling templates)
| |
| | selected = {{{selected|{{{expanded|{{{1|}}}}}}}}}
| |
| | abbr1 = Обрезка строки
| |
| | sect1 = [[Trimming (computer programming)|Обрезка строки]]
| |
| | list1 =
| |
| {{Navbox |child
| |
| | group1 = By counting
| |
| | list1 = {{Aligned table |style=padding-right:0.5em;
| |
| |col1style=width:12em; text-align:right;white-space:nowrap;padding-right:0.5em;
| |
| |col2style=font-style:italic;
| |
| | {{tp|_nav=x|str mid|строка|N|L}}| Возвращает подстроку длиной L, начиная с позиции N. <br><code><nowiki>{{str mid|строка|3|2}}</nowiki></code> → {{str mid|строка|3|2}}
| |
|
| |
|
| | {{tp|_nav=x|trunc|строка|N}}| Возвращает заданное количество символов с начала строки.<br> <code><nowiki>{{trunc|строка|3}}</nowiki></code> → {{trunc|строка|3}}
| | {{днш|ш|шаблон}} |
|
| |
|
| | {{tp|_nav=x|str left|строка|N}}| Возвращает заданное количество символов с начала строки.<br> <code><nowiki>{{str left|строка|3}}</nowiki></code> → {{str left|строка|3}}
| | == Синтаксис == |
| | {{tc|t|''шаблон или страница''|''флаги''|lang{{=}}''код языкового раздела''|sister{{=}}''код проекта''|text{{=}}''текст ссылки''}} |
|
| |
|
| | {{tp|_nav=x|str crop|строка|N}}| Удаляет справа из строки заданное количество символов.<br> <code><nowiki>{{str crop|строка|1}}</nowiki></code> → {{str crop|строка|1}}
| | Все параметры являются необязательными. |
|
| |
|
| | {{tp|_nav=x|chop head and tail|строка|N}}| Удаляет с обеих сторон указанное число символов.<br> <code><nowiki>{{chop head and tail|строка|2}}</nowiki></code> → {{Chop head and tail|строка|2}}
| | Если использовать шаблон без параметров — он выведет название текущей страницы (после двоеточия) со строчной первой буквы. Если использовать его с первым параметром — он создаст ссылку на страницу, заданную в нём (то есть поведёт себя, как шаблон {{tl|tl}}), за исключением случая, когда он уже находится на ней. |
|
| |
|
| | {{tp|_nav=x|str right|строка|N}} | Возвращает символы начиная с N и до конца строки.<br> <code><nowiki>{{str right|строка|2}}</nowiki></code> → {{Str right|строка|2}} | | Флаги записываются через вертикальную черту, например {{cn|u{{!}}nl{{!}}s}}, их может быть не больше трёх (так как флаги {{cn|nl}} и {{cn|g}} несочетаемы). Возможные флаги включают в себя: |
| | * {{cn|u}}''':''' вывести имя шаблона с большой буквы. Работает только при опущенном первом параметре. |
| | * {{cn|nl}} ({{cn|nolink}})''':''' подавить ссылку. |
| | * {{cn|s}} ({{cn|subst}}) и {{cn|п}} ({{cn|подст}})''':''' вывести ключевое слово [[ВП:Подстановка шаблонов|«subst:» и «подст:»]] соответственно перед именем шаблона. |
| | * {{cn|g}} (от ''global'')''':''' ссылаться на основное [[ЭАНМ:Пространства имён|пространство имён]] вместо пространства шаблонов. Этот флаг включается автоматически, если первым символом в названии шаблона или страницы является двоеточие, например '':Страница'' или '':Участник:Некий участник/подстраница'' (вики-движок интерпретирует начальное двоеточие в названии страницы в фигурных скобках как ссылку на корневое пространство; так, {{tc|:Страница}} включит содержимое соответствующей страницы ЭАНМ в текущую страницу). |
|
| |
|
| | {{tp|_nav=x|str rightc|строка|N}} | Возвращает правую часть строки из заданного количества символов. Результат как в {{t|str rightmost}}.
| | Флаги также можно указывать как булевы значения, например {{para|u|x}}. |
|
| |
|
| | {{tp|_nav=x|str rightmost|строка|N}} | <code><nowiki>{{str rightmost|строка|3}}</nowiki></code> → {{str rightmost|строка|3}}
| | Список кодов родственных проектов, записываемых в параметр {{para|sister}}, см. на странице [[ЭАНМ:Интервики]]. |
|
| |
|
| | {{tp|_nav=x|str sub old|строка|N|L}} | Удаляет слева N символов и оставляет L. <br><code><nowiki>{{str sub old|строка|2|3}}</nowiki></code> → {{str sub old|строка|2|3}} | | == Примеры == |
| | '''Базовые''' |
| | * {{tc|t}} → {{t}} (выводит название той страницы, на которой вы находитесь) |
| | * {{tc|t|t}} → {{t|t}} |
| | * {{tc|t|шаблон}} → {{t|шаблон}} |
| | * {{tc|t|:Страница}} → {{t|:Страница}} |
|
| |
|
| | {{tp|_nav=x|str sub new|строка|N|L}} | Выборает подстроку из строки на основе выбранных индексов.<br><code><nowiki>{{str sub new|строка|3|5}}</nowiki></code> → {{str sub new|строка|3|5}}
| | <small>(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, [[Шаблон:T/doc]].)</small> |
|
| |
|
| | {{tp|_nav=x|str index|строка|N}} | Возвращает из строки один символ под заданным номером N. <br> <code><nowiki>{{str index|строка|4}}</nowiki></code> → {{str index|строка|4}} | | '''Флаги''' |
| | * {{tc|t||u}} → {{t||u}} |
| | * {{tc|t|шаблон|nolink}} → {{t|шаблон|nolink}} |
| | * {{tc|t|шаблон|п}} → {{t|шаблон|п}} |
| | * {{tc|t|Участник:Jack who built the house/t|g}} → {{t|Участник:Jack who built the house/t|g}} |
|
| |
|
| }} | | Сразу несколько: |
| | * {{tc|t||u|nl|s}} → {{t||u|nl|s}} |
| | * {{tc|t|шаблон|nl|п}} → {{t|шаблон|nl|п|g}} |
|
| |
|
| | group2 = By checking
| | '''Остальные параметры''' |
| | list2 =
| | * {{tc|t|lang|<nowiki>text=lang-xx</nowiki>}} → {{t|lang|text=lang-xx}} |
| {{Aligned table |style=padding-right:0.5em; | | * {{tc|t|template|<nowiki>lang=en|sister=q</nowiki>}} → {{t|template|lang=en|sister=q}} |
| |col1style=width:12em; text-align:right; white-space:nowrap; padding-right:0.5em; | |
| |col2style=font-style:italic;
| |
| | {{tnav|trim}} | Удаляет пробелы справа и слева.
| |
| | {{tnav|str letter/trim}} | To trim down to the beginning letters.
| |
| | {{tnav|str number/trim}} | To trim down to the beginning numbers.
| |
| | {{tnav|trim brackets}} | To trim any leading or trailing square brackets.
| |
| | {{tnav|first word}} | Возвращает первое слово в строке.
| |
| | {{tnav|remove first word}} | To remove anything before the first space. | |
| | {{tnav|last word}} | To trim down from the last space.
| |
| | {{tnav|remove last word}} | To remove anything after the last space. | |
| }} | |
|
| |
|
| | group3 = Dedicated
| | '''Суперкомбо''' |
| | list3 =
| |
| {{Aligned table |style=padding-right:0.5em;
| |
| |col1style=width:12em; text-align:right;white-space:nowrap;padding-right:0.5em;
| |
| |col2style=font-style:italic;
| |
| | {{tnav|delink}} | Removes wikilink brackets (wikicode).
| |
| | {{tnav|remove file prefix}} | Removes "File:" (or "Image:") from filenames.
| |
| | {{tnav|PAGENAMEBASE}} | To trim off any parenthesis text at the end of a string (disambiguation).
| |
| | {{tnav|title disambig text}} | Returns text in parenthesis at the end of a string (disambiguation).
| |
| | {{tnav|WikiProjectbasename}} | Removes "WikiProject" from a pagename.
| |
| | {{tnav|remove unranked}} | Removes the string "unranked_" from the left of a string (taxonomy).
| |
| | {{tnav|ship prefix}} | Returns the length of a ship's name prefix, if listed (ship names).
| |
| | {{tnav|title year}} | Returns the 4-digit year from a pagename, if any.
| |
| }} }}
| |
|
| |
|
| | abbr4 = Вставка и замена строк
| | Представим, что нам понадобилось сослаться на шаблон в китайском викисловаре, используемый с подстановкой, который некий участник хранит в своём личном пространстве, а текст ссылки заменить на свой: |
| | group4 = Вставка и замена строк
| | * {{tc|t|User:Shizhao/Template:ru-sy名阴|g|s|<nowiki>lang=zh|sister=wikt|text=ru-sy名阴</nowiki>}} → {{t|User:Shizhao/Template:ru-sy名阴|g|s|lang=zh|sister=wikt|text=ru-sy名阴}} |
| | list4 =
| | <small>Он, кстати, реально существует.</small> |
| {{Aligned table |style=padding-right:0.5em; | |
| |col1style=width:9em; text-align:right; white-space:nowrap; padding-right:0.5em; background:#F6F6F6; | |
| |col2style=text-align:left;font-style:italic; | |
| | {{tnav|strloc insert}} | Inserts a string at character location strloc, or appends if strloc<{{=}}0.
| |
| | {{tnav|loop}} | Repeat character string a specified number of times. | |
| | {{tnav|repeat}} | Repeat a string a specified number of times.
| |
| | {{tnav|replace}} | Returns the string, after replacing ''all'' occurrences of a specified string with another string.
| |
| | {{tnav|str rep}} | Returns the string, after replacing the first occurrence of a specified string with another string.
| |
| | {{tp|_nav=x|str len|строка}} | Возвращает длину строки. <code><nowiki>{{Str len|строка}}</nowiki></code> → {{Str len|строка}}
| |
| |{{tnav|iflenge}} | [if len]gth [g]reater than or [e]qual to.
| |
| |{{tnav|str ≥ len}} | To check if a string is "longer or equally long" or "shorter" than a given length. | |
| |{{tnav|str ≤ len}} | To check if a string is "shorter or equally long" or "longer" than a given length. | |
| |{{tnav|str ≠ len}} | To check if a string is "not equal" or "equal" to a given length.
| |
| |{{tnav|str ≤ ≥ len}} | To check if a string is "shorter", "equal", or "longer" than a given length.
| |
| }}
| |
|
| |
|
| | abbr5 = Analysis and technical
| | === В оформлении документаций === |
| | group5 = Analysis and technical
| | Чтобы документация к шаблону выглядела опрятно и составлять её было легко, можно писать так (на страницах [[Шаблон:Lang]], [[Шаблон:Lang-en]] и т. д.): |
| | list5 =
| | <pre style="color: #009900;">Шаблон '''{{t}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre> |
| {{Aligned table |style=margin:0 auto 0; text-align:left;
| | что даст: |
| |col1style=width:9em; text-align:right; white-space:nowrap; padding-right:0.5em; background:#F6F6F6;
| | : Шаблон '''{{t|lang|nl}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang|nl}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang|nl}} тем, что текст в нём отображается ''[[курсив]]ом''). |
| |col2style= font-style:italic;
| |
| | {{tnav|str endswith}} | To check if a string ends with a given string.
| |
| | {{tnav|str find}}<br>{{tnav|strfind short}}
| |
| |Позиция первого вхождения подстроки в текст.
| |
| | {{tnav|str find0}} | Zero-based substring search.
| |
| | {{tnav|str sub find}} | Searches a substring in a string at the given offset.
| |
| | {{tnav|str letter}} | Returns the number of letters that begin a string.
| |
| | {{tnav|str number}} | Returns the number of numbers that begin a string.
| |
| | {{tnav|str gtr str}} | Compares two strings for alphabetical order, and returns a value accordingly.
| |
| | {{tnav|ASCII code}} | Returns the ASCII value of a single character.
| |
| | {{tnav|a or an}} | Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel.
| |
| | |
| |
| | [[Module:String]] |
| |
| | [[mw:Help:Magic words|...Magic words]]
| |
| | {{noitalic|About <code><nowiki>{{padleft:|}}</nowiki></code>.}}
| |
| | [[mw:Help:Extension:ParserFunctions|...ParserFunctions]]
| |
| | {{noitalic|About <code><nowiki>{{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}}, </nowiki></code> etc.
| |
| }} }}
| |
|
| |
|
| <!---- | | — а не так: |
| | group12 = Feature requests | | <pre style="color: #CC0000;">Шаблон {{tl|{{lc: {{BASEPAGENAME}} }}}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{tl|lang}} и {{tl|langi}} ({{tl|langi}} отличается от {{tl|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre> |
| | list12 = | | что даст: |
| * [[bugzilla:6455]] – Set $wgPFEnableStringFunctions = true on WMF wikis
| |
| * [[bugzilla:26092]] – Enable or install string parsing wikimarkup functionality on WMF wikis
| |
|
| |
|
| <!----Not in a navbox: | | : Шаблон <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> и {{tl|langi}} ({{tl|langi}} отличается от <span style="color:#9098A0" class="wp-templatelink">{{'''lang'''}}</span> тем, что текст в нём отображается ''[[курсив]]ом''). |
| | group13 = [[Wikipedia:Template sandbox and test cases|Sandboxes, testcases]]
| |
| | list13 =
| |
| * {{tnav|Str find/sandbox}}
| |
| * {{tnav|Str index/getchar/sandbox}}
| |
| * {{tnav|Str index/getchar/testcases}}
| |
| * {{tnav|Str index/sandbox}}
| |
| * {{tnav|Str index/testcases}}
| |
| * {{tnav|Str index any/sandbox}}
| |
| * {{tnav|Str index any/testcases}}
| |
| * {{tnav|Str left/sandbox}}
| |
| * {{tnav|Str len/core/sandbox}}
| |
| * {{tnav|Str len/sandbox}}
| |
| * {{tnav|Str len/testcases}}
| |
| * {{tnav|Str rightc/testcases}}
| |
| * {{tnav|Str ≠ len/sandbox}}
| |
| * {{tnav|Str ≠ len/testcases}}
| |
| ----->
| |
|
| |
|
| | belowclass = hlist
| | == Детали == |
| | below =
| | * Если шаблон используется без параметра, а в названии страницы есть слэш, то, что идёт после него, опускается. |
| {{#ifeq: {{SUBPAGENAME}} | doc || [[Категория:Шаблоны:Работа со строками]] }}{{Nobr*|[[m:Category:String templates]]}}
| | * Если ссылка на шаблон состоит всего из одного символа, в ссылку автоматически заключаются соседние фигурные скобки, и по ней становится куда проще попасть, например: {{t|!}}. |
| {{Nobr*|[[:commons:Category:String manipulation templates]]}} | | * Шаблон понимает идентичность адресов ''Участник:Некий участник'' и ''Участник:Некий'''_'''участник'' и использует особые приёмы, чтобы обходить баги/особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их [[мнемоники в HTML|HTML-мнемониками]], типа {{cn|&#47;}} для «/». |
| | tracking = no | | * Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице [[Шаблон:T/тесты]] для проверки его работоспособности после внесения изменений. |
| }}<noinclude>[[Категория:Шаблоны:Для документирования шаблонов]] | | |
| </noinclude> | | == См. также == |
| | * {{t|tc}} — символическая запись в тегах {{tag|code|o}} и с параметрами (для создания примеров на страницах документации) |
| | * {{t|tlc}} — то же, что предыдущий, плюс ссылка |
| | |
| | <includeonly>[[Категория:Шаблоны:Ссылки на шаблоны]]</includeonly> |