База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С сравнить символы в строке на совпадение? › RE: Как в 1С сравнить символы в строке на совпадение?
Для сравнения последовательности символов в строке на совпадение в 1С можно использовать несколько способов, в зависимости от задачи:
1. **Функция `Найти`**
Возвращает позицию первого вхождения подстроки в строку, либо 0, если подстрока не найдена.
Пример:
1C
Строка = "Пример строки для поиска";
Подстрока = "строки";
Позиция = Найти(Строка, Подстрока);
Если Позиция > 0 Тогда
Сообщить("Подстрока найдена на позиции " + Позиция);
Иначе
Сообщить("Подстрока не найдена");
КонецЕсли;
2. **Оператор сравнения `=` для точного совпадения**
Если нужно проверить, что вся строка равна другой строке или что часть строки равна определённой последовательности, можно использовать `Сред` и сравнение:
1C
Строка = "Пример строки";
Последовательность = "строки";
Позиция = Найти(Строка, Последовательность);
Если Позиция > 0 Тогда
Если Сред(Строка, Позиция, СтрДлина(Последовательность)) = Последовательность Тогда
Сообщить("Последовательность совпадает");
КонецЕсли;
КонецЕсли;
3. **Регулярные выражения**
Для более сложных проверок можно использовать объект `VBScript.RegExp`:
1C
Рег = Новый COMОбъект("VBScript.RegExp");
Рег.Pattern = "последовательность"; // или более сложный шаблон
Рег.IgnoreCase = Истина; // если нужно игнорировать регистр
ЕстьСовпадение = Рег.Test(Строка);
Если ЕстьСовпадение Тогда
Сообщить("Совпадение найдено");
Иначе
Сообщить("Совпадение не найдено");
КонецЕсли;
4. **Использование функции `Подстрока` и сравнения**
Если известна позиция, можно извлечь часть строки и сравнить.
—
**Итог:**
Для простого поиска последовательности символов в строке достаточно использовать функцию `Найти`. Если нужна более сложная проверка — регулярные выражения.
—
Рекомендую посмотреть здесь:
— https://infostart.ru/public/186774/
— https://helpf.pro/faq/view/278.html
— https://infostart.ru/1c/articles/824965/