各位版大好, 程式碼如以下
假設@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的強大功能, 應該可以更簡潔.
: 是否有辦法用一行就把這"兩"個動作完成 ?
: 感謝