看板 Perl 關於我們 聯絡資訊
重新想了一下 再有bug就不寫了 XDD my $str = 'A, B, C[1], C[0], D, P[3], P[2], P[1],'; my @arr = split /, */, $str; my @out; my @bus = ' '; sub bus_out { return if $bus[0] eq ' '; push @out, ($#bus ? "[$bus[1]:$bus[2]] " : '').$bus[0]; } for (@arr) { my @curr = /(\w+)\[(\d+)\]/ ? ($1, $2, $2) : $_; if ($curr[0] ne $bus[0]) { bus_out; @bus = @curr; } else { $bus[2] = $2; } } bus_out; print "$_;\n" for (@out); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.120.71 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1556348310.A.FA1.html