Re: [請益] 在一行code中split兩次

看板Perl作者 (醉落~最弱)時間9年前 (2014/12/02 21:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
各位版大好, 程式碼如以下 假設@data已經從外部讀入 且共有 n 筆 for($i=0;$i<$n;$i++){ @temp1=(split(/A/,@data[$i]))[1,3,5]; # 第一次split用A來做條件, 取第1,3,5個元素 for($j=0;$j<3;$j++){ # 用迴圈再逐個元素split一次 @temp2=(split(/B/,@temp1[$j])[1]; # 取第一個元素 } # ^^^^^^ 為了一個動作用for迴圈 程式碼多了三行 感覺不划算 ^_^" } 請問以上是否可以一行就split完兩次? ※ 引述《josefy (醉落~最弱)》之銘言: : 各位版大好, : 有筆data 我希望用條件A split第一次並取出split後元素 1,3,5 : 之後再用條件B split第二次, 這時我需要取第1個元素並把資料存到 @rawdata裡面 : 我已經可以分兩次做完 但是我想以perl的強大功能, 應該可以更簡潔. : 是否有辦法用一行就把這"兩"個動作完成 ? : 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.242.247 ※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1417527722.A.77E.html
文章代碼(AID): #1KVS6gT- (Perl)
文章代碼(AID): #1KVS6gT- (Perl)