stringtranslate.com

Помощь:Работа со строками

  • H:СИМВОЛ

В английской Википедии есть несколько шаблонов и модулей Lua , которые могут форматировать или манипулировать строками . В этом контексте «строка» — это любой фрагмент текста, являющийся частью страницы. Эта страница справки охватывает несколько полезных приемов; полный каталог шаблонов можно найти в навигационном блоке ниже.

Подстроки

Самая простая операция — взятие подстроки, фрагмента строки, взятого с определенного смещения (называемого «индексом») от начала или конца. Существует ряд устаревших шаблонов, предлагающих это (см. navbox), но для нового кода используйте {{ #invoke:String |sub| string | startIndex | endIndex }}. Индексы начинаются с единицы (то есть первая строка имеет номер один), включаются (то есть указанные вами индексы включены) и могут быть отрицательными при подсчете с другого конца. Например, {{#invoke:string|sub|12345678|2|-3}}→ 23456. Не все устаревшие шаблоны подстрок используют эту схему нумерации, поэтому проверьте документацию незнакомых шаблонов.

Использование существующих шаблонов

Если вы думаете, что кто-то уже сделал то, что вы хотите, посмотрите в навигационное поле ниже и проверьте. Гораздо проще найти и использовать существующий шаблон, чем писать сложный код, чтобы сделать все это в одном месте.

Найдите шаблон, который сделает все, что вам нужно, за один раз. Например, вместо того, чтобы брать последние шесть символов строки и проверять, равны ли они "navbox", используйте {{ str endswith | string |navbox}} .

Автоматически обрезанные пробелы

Если вы передадите строку " abc def " (без кавычек) в шаблон через именованный или явно пронумерованный параметр (например, {{template|1= abc def }}пробелы снаружи будут обрезаны и не будут учитываться ни при каких действиях шаблона с этим параметром. Он увидит строку abc def.

Если вы используете автоматически нумерованные параметры ( {{template| abc def }}), пробелы снаружи учитываются, но некоторые шаблоны могут по-прежнему удалять их самостоятельно.

Шаблоны Lua (регулярные выражения)

Регулярные выражения (или regex) — это распространенная и очень универсальная техника программирования для работы со строками. В Википедии вы можете использовать ограниченную версию regex, называемую шаблоном Lua, для выбора и изменения фрагментов текста из строки. Шаблон — это фрагмент кода, описывающий то, что вы ищете в строке. Символы, которые вы можете использовать в шаблоне:

Если сложить все это вместе, ^[Aa]*b?cто получим соответствие первым шести символам «AaAabcccc».

Заключив часть шаблона в скобки, вы можете извлечь его, ссылаясь на него с помощью кода %1. Пример:

.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}@media screen{html.skin-theme-clientpref-night .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}СтроковыеФункции(из ParserFunctions)

Википедия не имеет серии функций парсера "StringFunctions" (перечисленных ниже) и не собирается их получать (по phab:T8455). Вместо этого шаблоны используют Lua (через Module:String или иным образом) наряду с существующими функциями парсера.

Ни одна из этих функций не будет работать, но у них есть альтернативы:

Тестовый код

Если вы не уверены в том, что будет делать какой-либо код, вставьте его в Special:ExpandTemplates , который выполнит его оценку и предоставит вам возможность его просмотреть.

Смотрите также

Различные шаблоны обработки строк или функции синтаксического анализатора см . в таблице навигационной панели ниже.