Re: [問題] 文字元素的合成

看板Perl作者時間5年前 (2019/04/27 03:12), 編輯推噓2(201)
留言3則, 3人參與, 5年前最新討論串5/7 (看更多)
看輸入的形式 我假設同pin一定排在一起 而且裡面的數字一定降冪 如果不是 也可以寫個sort排一下 應該沒幾行 然後就照前面c大的說法來寫 寫成這樣 my $str = 'A, B, C[1], C[0], D, P[3], P[2], P[1],'; my @arr = split /, */, $str; my (@out, @bus); sub bus_out { return unless @bus; push @out, "[$bus[1]:$bus[2]] $bus[0]"; @bus = (); } for (@arr) { if (/(\w+)\[(\d+)\]/) { @bus ? ($bus[2] = $2) : (@bus = ($1, $2, $2)); } else { bus_out; push @out, $_; } } bus_out; print "$_;\n" for (@out); 要寫得乾淨比我想像中還難 沒幾行卻寫了好久 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.121.196 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1556305957.A.993.html

04/27 08:46, 5年前 , 1F
把 D 刪掉,答案好像會錯
04/27 08:46, 1F

04/27 09:59, 5年前 , 2F
啊真的 半夜寫code果然bug一堆 哈哈哈
04/27 09:59, 2F

04/27 10:17, 5年前 , 3F
XDDD
04/27 10:17, 3F
文章代碼(AID): #1SmrWbcJ (Perl)
文章代碼(AID): #1SmrWbcJ (Perl)