У меня есть строка из CSV-файла с "
в качестве ограничителя полей и ,
в качестве разделителя полей в виде строки. Иногда в данных есть "
, которые нарушают ограничители поля. Я ищу регулярное выражение для удаления этих "
.
Моя строка выглядит так:
my $csv = qq~"123456","024003","Stuff","","28" stuff with more stuff","2"," 1.99 ","",""~;
Я просмотрел это, но не понимаю, как сказать, чтобы он удалял только цитаты, которые
- не в начале строки
- не в конце строки
- без предшествующего
,
- за которым не следует
,
Мне удалось сказать ему удалить 3 и 4 одновременно с этой строкой кода:
$csv =~ s/(?<!,)"(?!,)//g;
Однако я не могу поместить туда ^
и $
, так как оба вида вперед и назад не любят писаться как (?<!(^|,))
.
Есть ли способ добиться этого только с помощью регулярного выражения, помимо разделения строки и удаления кавычек из каждого элемента?