Odin | База знаний 1С

Как выделить подстр...
 

Как выделить подстроку с помощью регулярного выражения в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

Как в 1с с помощью регулярного выражения из строки "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25," выделить подстроку после символа "№" и до следующего пробела после символа "/"



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для выделения подстроки из строки "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25," с помощью регулярного выражения в 1С, можно использовать следующий код:

1C
// Исходная строка
ИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";

// Регулярное выражение для поиска подстроки
РегулярноеВыражение = Новый РегулярноеВыражение("№([^ ]*)/([^ ]*)");

// Поиск совпадений
Совпадение = РегулярноеВыражение.Найти(ИсходнаяСтрока);

Если Совпадение  Неопределено Тогда
    // Получаем подстроку
    Подстрока = Совпадение.Получить(1); // Получаем первую группу (после "№" до "/")
    Сообщить(Подстрока); // Выводим результат
Иначе
    Сообщить("Совпадений не найдено");
КонецЕсли;

В этом коде:
- Мы создаем регулярное выражение, которое ищет символ "№", затем захватывает все символы до символа "/" (включая пробелы).
- Используем метод `Найти` для поиска совпадений в исходной строке.
- Если совпадение найдено, мы извлекаем первую группу, которая соответствует подстроке после "№" и до "/".

Таким образом, результатом будет подстрока "RU".



   
ОтветитьЦитата