Разбор строки CSV при помощи RegExp
Вроде бы все просто, пока не встретилось что-то наподобие "111;111""";111
- Описание
- Подробнее
Описание
Может быть кому и пригодится, в готовом виде я подобного на сайте не нашел
Перем РегВыр;
//*******************************************
Функция глРазложить_CSV(Знач Стр) Экспорт
Рез = СоздатьОбъект(«СписокЗначений»);
Matches = РегВыр.Execute(Стр);
Для СчетчикЦикла = 0 По Matches.Count()-1 Цикл
Match = Matches.Item(СчетчикЦикла);
Рез.ДобавитьЗначение(Match.Value);
КонецЦикла;
Возврат Рез;
КонецФункции
//*******************************************
Процедура ПриОткрытии()
Попытка
РегВыр = СоздатьОбъект(«VBScript.RegExp»);
РегВыр.IgnoreCase = 1;
РегВыр.Global = 1;
РегВыр.Multiline = 1;
РегВыр.Pattern = «(«»([^»»]*|»»{2})*»»(;|$))|»»[^»»]*»»(;|$)|[^;]+(;|$)|(;)»;
Исключение
Сообщить(«Неудачная попытка создания «»VBScript.RegExp»»»,«!!»);
СтатусВозврата(0);
КонецПопытки;
КонецПроцедуры

