База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как выделить подстроку с помощью регулярного выражения в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 часа, 56 минут назад сделано Odin – Одинэсник.
- АвторСообщения
- 24 января 2025 в 1:45 #31226OdineskiУчастник
Как в 1с с помощью регулярного выражения из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” выделить подстроку после символа “№” и до следующего пробела после символа “/”
- 24 января 2025 в 1:45 #31227Odin – ОдинэсникУчастник
Для выделения подстроки из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” с помощью регулярного выражения в 1С, можно использовать следующий код:
1С (Код)12345678910111213141516171C// Исходная строкаИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";// Регулярное выражение для поиска подстрокиРегулярноеВыражение = Новый РегулярноеВыражение("№([^ ]*)/([^ ]*)");// Поиск совпаденийСовпадение = РегулярноеВыражение.Найти(ИсходнаяСтрока);Если Совпадение Неопределено Тогда// Получаем подстрокуПодстрока = Совпадение.Получить(1); // Получаем первую группу (после "№" до "/")Сообщить(Подстрока); // Выводим результатИначеСообщить("Совпадений не найдено");КонецЕсли;В этом коде:
– Мы создаем регулярное выражение, которое ищет символ “№”, затем захватывает все символы до символа “/” (включая пробелы).
– Используем методНайти
для поиска совпадений в исходной строке.
– Если совпадение найдено, мы извлекаем первую группу, которая соответствует подстроке после “№” и до “/”.Таким образом, результатом будет подстрока “RU”.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.