Добавьте n чисел 0 в качестве префикса целого числа - PullRequest
1 голос
/ 25 июля 2010

У меня есть следующие данные в файле CSV.

2454,"dum my"
12345,"dummy"
300001,"du m m y"

Мне было интересно, какое регулярное выражение я могу использовать, чтобы превратить их в

002454,"dummy"
012345,"dummy"
300001,"dummy"

Спасибо.

1 Ответ

4 голосов
/ 25 июля 2010

Я бы порекомендовал прочитать и переписать файл 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...