У меня есть следующие данные в файле CSV.
2454,"dum my" 12345,"dummy" 300001,"du m m y"
Мне было интересно, какое регулярное выражение я могу использовать, чтобы превратить их в
002454,"dummy" 012345,"dummy" 300001,"dummy"
Спасибо.
Я бы порекомендовал прочитать и переписать файл CSV с помощью Text :: CSV_XS и манипулировать полями индивидуально, но если вам нужно просто использовать регулярное выражение, что-то вроде:
sub strip_spaces { my $str = shift; $str =~ y/ //d; $str } s/(\d+)/ sprintf '%.6d', $1 /e; s/("[^"]+"$)/ strip_spaces($1) /e;