База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С сравнить символы в строке на совпадение?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
12 октября 2025 в 16:30 #33711
Сравнить на совпадение последовательность символов в строке.
-
12 октября 2025 в 16:30 #33712
Для сравнения последовательности символов в строке на совпадение в 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/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.