---
metadata:
  - name: generator
    content: Diplodoc Platform v5.70.0
alternate:
  - https://yandex.ru/support/kit/ru/site-editor/custom-sections/utilities/inline-helpers/strings.md
  - href: https://yandex.ru/support/kit/ru/site-editor/custom-sections/utilities/inline-helpers/strings.md
    type: text/markdown
    title: Markdown version
  - href: https://yandex.ru/support/kit/ru/llms.txt?revision=r22105010
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/kit/ru/llms.txt?revision=r22105010


# Работа со строками

### split {#split}

#|
|| **Описание** | **Сигнатура** ||
|| Разбивает строку на массив подстрок по разделителю. 
* Исходное значение и разделитель преобразуются в строки. 
* Для `null` и `undefined` возвращает пустой массив. | `{{split value}}`

`{{split value separator}}`

`{{split value separator limit}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение. ||
|| `separator` | Any | Необязательный разделитель, по умолчанию `","`. ||
|| `limit` | Number | Необязательное максимальное количество элементов результата. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{join (split "a,b,c") " / "}}
{{!-- Результат: "a / b / c" --}}

{{join (split "a-b-c" "-" 2) ", "}}
{{!-- Результат: "a, b" --}}

```
{% endcut %}

### substring {#substring}

#|
|| **Описание** | **Сигнатура** ||
|| Возвращает часть строки от начального до конечного индекса (включительно), не включая его.
* Если конечный индекс не указан, возвращает часть строки до конца. 
* Исходное значение преобразуется в строку.
* Отрицательные индексы считаются равными `0`, индексы за пределами строки — ее длине.
* Если начальный индекс больше конечного, они меняются местами.
* Индексы отсчитываются в кодовых единицах UTF‑16: некоторые символы, например эмодзи, занимают две позиции. | `{{substring value start}}`

`{{substring value start end}}`
||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение, преобразуемое в строку. ||
|| `start` | Number | Начальный индекс (начиная с `0`). ||
|| `end` | Number | Необязательный конечный индекс, не включаемый в результат. По умолчанию — длина строки. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{!-- Данные: { text: "Привет, мир!" } --}}
{{substring text 0 6}}
{{!-- Результат: "Привет" --}}

{{substring text 8}}
{{!-- Результат: "мир!" --}}

{{substring "abcdef" 4 1}}
{{!-- Результат: "bcd" --}}

```

{% endcut %}

### trim {#trim}

#|
|| **Описание** | **Сигнатура** ||
|| Удаляет пробельные символы с начала и конца строки, включая пробелы, табуляцию и переводы строк. 
* Пробелы внутри строки сохраняются. 
* Исходное значение преобразуется в строку. | `{{trim value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение, преобразуемое в строку. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{trim " Привет, мир! "}}
{{!-- Результат: "Привет, мир!" --}}

{{trim " два пробела "}}
{{!-- Результат: "два пробела" --}}

{{trim " "}}
{{!-- Результат: "" --}}
```
{% endcut %}

### replace {#replace}

#|
|| **Описание** | **Сигнатура** ||
|| Заменяет первое вхождение подстроки. Если подстрока не найдена, возвращает исходную строку. 
* Все аргументы преобразуются в строки.
* Поиск учитывает регистр и выполняется буквально, без регулярных выражений. 
* Специальные последовательности в замене, например `$&` и `$1`, вставляются как обычный текст. | `{{replace value search replacement}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение, преобразуемое в строку. ||
|| `search` | Any | Искомая подстрока. Значение преобразуется в строку. ||
|| `replacement` | Any | Текст замены. Значение преобразуется в строку. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{replace "яблоко, яблоко" "яблоко" "банан"}}
{{!-- Результат: "банан, яблоко" --}}

{{replace "a.a.a" "." "-"}}
{{!-- Результат: "a-a.a" --}}

{{replace "яблоко" "вишня" "банан"}}
{{!-- Результат: "яблоко" --}}
```
{% endcut %}

### replaceAll {#replaceAll}

#|
|| **Описание** | **Сигнатура** ||
|| Заменяет все вхождения подстроки. Если подстрока не найдена, возвращает исходную строку.
* Все аргументы преобразуются в строки.
* Поиск учитывает регистр и выполняется буквально, без интерпретации регулярных выражений.
* Специальные последовательности в замене, например `$&` и `$1`, вставляются как обычный текст. | `{{replaceAll value search replacement}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение, преобразуемое в строку. ||
|| `search` | Any | Искомая подстрока. Значение преобразуется в строку. ||
|| `replacement` | Any | Текст замены. Значение преобразуется в строку. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{replaceAll "яблоко, яблоко" "яблоко" "банан"}}
{{!-- Результат: "банан, банан" --}}

{{replaceAll "a.a.a" "." "-"}}
{{!-- Результат: "a-a-a" --}}

{{replaceAll "ab" "" "-"}}
{{!-- Результат: "-a-b-" --}}
```
{% endcut %}

### truncate {#truncate}

#|
|| **Описание** | **Сигнатура** ||
|| Обрезает строку до указанной максимальной длины и добавляет суффикс. Суффикс входит в максимальную длину результата.

* Если строка уже укладывается в ограничение, возвращает ее без суффикса. 
* Исходное значение и суффикс преобразуются в строки.
* Дробная часть ограничения отбрасывается; при нулевом или отрицательном ограничении возвращается пустая строка. 
* Если суффикс длиннее ограничения, возвращается только его начало, укладывающееся в ограничение.
* Длина считается по кодовым точкам Unicode: одиночный эмодзи, занимает одну позицию. 
* Составные эмодзи и символы с комбинируемыми знаками могут занимать несколько позиций.

|

`{{truncate value maxLength}}`

`{{truncate value maxLength suffix}}`

||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | Any | Исходное значение, преобразуемое в строку. ||
|| `maxLength` | Number | Максимальная длина результата с учетом суффикса. ||
|| `suffix` | Any | Необязательный суффикс. По умолчанию — `…`. Пустая строка отключает суффикс. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{truncate "Привет, мир!" 7}}
{{!-- Результат: "Привет…" --}}

{{truncate "abcdef" 5 "..."}}
{{!-- Результат: "ab..." }}

{{truncate "abcdef" 3 ""}}
{{!-- Результат: "abc" }}

{{truncate "abc" 3}}
{{!-- Результат: "abc" }}

{{truncate "'одиночный эмодзи, одиночный эмодзи, одиночный эмодзи'" 3}}
{{!-- Результат: "одиночный эмодзи, одиночный эмодзи …" }}

{{truncate "abcdef" 2 "..."}}
{{!-- Результат: ".." }}
```
{% endcut %}

### lower {#lower}

#|
|| **Описание** | **Сигнатура** ||
||  Преобразует всю строку в нижний регистр. | `{{lower value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{lower "HELLO WORLD"}}
{{!-- Результат: "hello world" --}}

{{lower "iPhone 15 Pro"}}
{{!-- Результат: "iphone 15 pro" --}}

{{lower "МОСКВА"}}
{{!-- Результат: "москва" --}}

```

{% endcut %}

### lowerFirst {#lowerFirst}
 
#|
|| **Описание** | **Сигнатура** ||
|| Преобразует **первый символ** строки в нижний регистр. Остальные символы не изменяются.  | `{{lowerFirst value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{lowerFirst "Hello World"}}
{{!-- Результат: "hello World" --}}

{{lowerFirst "ProductCard"}}
{{!-- Результат: "productCard" --}}

{{lowerFirst "ACTIVE"}}
{{!-- Результат: "aCTIVE" --}}

{{lowerFirst "a"}}
{{!-- Результат: "a" --}}

```

{% endcut %}

### upper {#upper}

#|
|| **Описание** | **Сигнатура** ||
|| Преобразует всю строку в верхний регистр. | `{{upper value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{upper "hello world"}}
{{!-- Результат: "HELLO WORLD" --}}

{{upper "iPhone"}}
{{!-- Результат: "IPHONE" --}}

{{upper "москва"}}
{{!-- Результат: "МОСКВА" --}}

```

{% endcut %}

### upperFirst {#upperFirst}

#|
|| **Описание** | **Сигнатура** ||
|| Преобразует **первый символ** строки в верхний регистр. Остальные символы не изменяются.  | `{{upperFirst value}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{upperFirst "hello world"}}
{{!-- Результат: "Hello world" --}}

{{upperFirst "iPhone"}}
{{!-- Результат: "IPhone" --}}

{{upperFirst "active"}}
{{!-- Результат: "Active" --}}

{{upperFirst "a"}}
{{!-- Результат: "A" --}}

```

{% endcut %}

### startsWith {#startsWith}

#|
|| **Описание** | **Сигнатура** ||
||  Проверяет, начинается ли строка с указанной подстроки.
* Поиск учитывает регистр.
* Исходное значение преобразуется в строку. | `{{startsWith string prefix}}`

`{{startsWith string prefix position}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `string` | String | Исходная строка. ||
||  `prefix` | String | Подстрока для проверки. ||
|| `position` | Number | Необязательный начальный индекс проверки. По умолчанию — `0` ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{startsWith "hello world" "hello"}}
{{!-- Результат: true --}}

{{startsWith "hello world" "world"}}
{{!-- Результат: false --}}

{{startsWith "/catalog/phones" "/catalog"}}
{{!-- Результат: true --}}

```

{% endcut %}

### endsWith {#endsWith}

#|
|| **Описание** | **Сигнатура** ||
||  Проверяет, заканчивается ли строка указанной подстрокой.
* Поиск учитывает регистр.
* Исходное значение преобразуется в строку. | `{{endsWith string suffix}}`

`{{endsWith string suffix endPosition}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `string` | String | Исходная строка. ||
||  `suffix` | String | Подстрока для проверки. ||
|| `endPosition` | Number | Необязательная позиция конца проверяемой части строки. По умолчанию — длина строки. ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars

{{endsWith "hello world" "world"}}
{{!-- Результат: true --}}

{{endsWith "hello world" "hello"}}
{{!-- Результат: false --}}

{{endsWith "image.png" ".png"}}
{{!-- Результат: true --}}

```

{% endcut %}


### includes {#includes}

#|
|| **Описание** | **Сигнатура** ||
||  Проверяет, содержит ли строка указанную подстроку.
* Поиск учитывает регистр.
* Исходное значение преобразуется в строку.
 
|

`{{includes string substring}}`

`{{includes string substring position}}`

||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `string` | String | Исходная строка. ||
|| `substring` | String | Подстрока для поиска. ||
|| `position` | Number | Необязательный начальный индекс поиска. По умолчанию `0` ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{includes "hello world" "world"}}
{{!-- Результат: true --}}

{{includes "hello world" "xyz"}}
{{!-- Результат: false --}}

{{includes "Доставка бесплатная" "бесплатн"}}
{{!-- Результат: true --}}

```

{% endcut %}


### padStart {#padStart}

#|
|| **Описание** | **Сигнатура** ||
|| Дополняет строку указанным символом **в начале** до заданной длины. | `{{padStart value length char}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
||  `length` | Number | Желаемая длина результата. ||
||  `char` | String | Символ для заполнения (по умолчанию `" "`). ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{padStart "5" 2 "0"}}
{{!-- Результат: "05" --}}

{{padStart "42" 5 "0"}}
{{!-- Результат: "00042" --}}

{{padStart "hi" 10 "."}}
{{!-- Результат: "........hi" --}}

{{padStart "hello" 3 "0"}}
{{!-- Результат: "hello" (строка длиннее — без изменений) --}}  

```

{% endcut %}

### padEnd {#padEnd}

#|
|| **Описание** | **Сигнатура** ||
||  Дополняет строку указанным символом **в конце** до заданной длины. | `{{padEnd value length char}}` ||
|#

{% cut "Параметры" %}

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `value` | String | Исходная строка. ||
||  `length` | Number | Желаемая длина результата. ||
||  `char` | String | Символ для заполнения (по умолчанию `" "`). ||
|#

{% endcut %}

{% cut "Примеры" %}

```handlebars
{{padEnd "hi" 10 "."}}
{{!-- Результат: "hi........" --}}

{{padEnd "100" 6 "0"}}
{{!-- Результат: "100000" --}}

{{padEnd "hello" 3 "."}}
{{!-- Результат: "hello" (строка длиннее — без изменений) --}}

```
{% endcut %}

<!-- source: ru/_includes/support.md -->


## Обратиться в службу поддержки


[Написать в чат](https://yandex.ru/chat/#/user/6c041b05-07a4-99cc-79be-8670b7aff93d){.button}

[Написать письмо](https://yandex.ru/support/kit/ru/feedback.md){.button}

[Яндекс KITᵝ в Telegram](https://t.me/kityandex_support_bot){.button}

[Яндекс KITᵝ в МАКС](https://max.ru/yandex_kit_bot){.button}
<!-- endsource: ru/_includes/support.md -->
