Перейти к содержанию

поиск

Функция поиск находит указанный фрагмент в тексте и возвращает позицию, с которой он начинается.

Функция пригодится, когда положение нужного текста заранее неизвестно. Полученную позицию можно использовать в других функциях, например пстр, чтобы извлечь нужную часть строки.

Синтаксис

поиск(строка, подстрока, [начальнаяПозиция], [учитыватьРегистр])

Параметры:

  • строка — значение, в котором необходимо выполнить поиск. Обязательный параметр;
  • подстрока — текст или символ, который необходимо найти. Обязательный параметр;
  • начальнаяПозиция — позиция, с которой необходимо начать поиск. Необязательный параметр. По умолчанию поиск начинается с первого символа;
  • учитыватьРегистр — определяет, нужно ли учитывать регистр букв при поиске. Необязательный параметр. По умолчанию регистр не учитывается.

В качестве параметров можно использовать текст, значения полей, результаты других функций и выражения.

Возвращаемое значение

Если указанный фрагмент найден, функция возвращает номер символа, с которого он начинается. Отсчёт начинается с 1.

Например:

поиск("ООО Ромашка", "Ром", 1, ложь)

Результат:

5

Если указанный текст не найден, функция возвращает пустое значение.

Примеры

Поиск символа в значении поля

Если поле номерДокумента содержит:

Договор №125/2026

то выражение:

поиск(номерДокумента, "№")

вернёт позицию символа .


Получение текста после найденного фрагмента

Результат поиск можно передать в функцию пстр, если необходимо получить часть текста, положение которой заранее неизвестно.

Например:

пстр(
    номерДокумента,
    поиск(номерДокумента, "№") + 1,
    длина(номерДокумента)
)

Если номерДокумента содержит:

Договор №125/2026

результат:

125/2026

Здесь поиск определяет положение символа , а + 1 переносит начало на следующий символ. Функция длина позволяет получить оставшийся текст до конца строки.


Поиск с определённой позиции

Если один и тот же фрагмент встречается в тексте несколько раз, поиск можно начать не с первого символа, а с указанной позиции:

поиск(текст, "/", 10)

В этом случае функция будет искать символ /, начиная с десятого символа строки.