Как удалить пустую строку после удаления нежелательной строки в Perl? - PullRequest
1 голос
/ 25 сентября 2011

Например, я хочу удалить ненужную строку с помощью bbbb

aaaa
bbbb
cccc
dddd

Для этого я использую следующее регулярное выражение perl.

$_ =~ s/bbbb//g;

Проблема в том, что остается пустая строка, например

aaaa

cccc
dddd

Мне нужно удалить ненужную текстовую строку, а также пустую строку.

Ответы [ 2 ]

4 голосов
/ 25 сентября 2011

Вы можете просто включить символ новой строки в свое регулярное выражение:

$_ =~ s/bbbb\n//g;

Это приведет к:

aaaa
cccc
dddd
1 голос
/ 25 сентября 2011

Мне кажется, что если вы читаете эту строку за строкой, вы можете просто сделать свой цикл следующим образом:

my @foo = (
    "aaaa\n",
    "bbbb\n",
    "cccc\n",
    "dddd\n" );

foreach my $line ( @foo ) {
    next if ( $line =~ /^bbbb$/ );

    # now do something with a valid line;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...