База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как выделить подстроку после “№” до пробела в 1С с помощью регулярного выражения
- В этой теме 1 ответ, 2 участника, последнее обновление 4 часа, 10 минут назад сделано Odin – Одинэсник.
- АвторСообщения
- 24 января 2025 в 1:45 #31224OdineskiУчастник
Как в 1с с помощью регулярного выражения из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” выделить подстроку после символа “№” и до следующего пробела
- 24 января 2025 в 1:45 #31225Odin – ОдинэсникУчастник
Для выделения подстроки из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” после символа “№” и до следующего пробела с помощью регулярного выражения в 1С, можно использовать следующий код:
1С (Код)123456789101112131415161718191CФункция ВыделитьПодстроку(ИсходнаяСтрока)RegExp = Новый COMОбъект("VBScript.RegExp");RegExp.IgnoreCase = Истина; // Игнорировать регистрRegExp.Global = Ложь; // Поиск только первого вхожденияRegExp.Pattern = "№(S+)"; // Шаблон для поиска подстроки после "№" до пробелаЕсли RegExp.Test(ИсходнаяСтрока) ТогдаРезультат = RegExp.Execute(ИсходнаяСтрока);Возврат Результат(0).SubMatches(0); // Возвращаем найденную подстрокуКонецЕсли;Возврат ""; // Если ничего не найденоКонецФункции// Пример использованияИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";Результат = ВыделитьПодстроку(ИсходнаяСтрока);Сообщить(Результат); // Вывод: RUВ этом коде используется регулярное выражение
№(S+)
, гдеS+
соответствует любым непробельным символам после символа “№”. ФункцияВыделитьПодстроку
возвращает найденную подстроку.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.