作者josefy (醉落~最弱)
看板Perl
标题Re: [请益] 在一行code中split两次
时间Tue Dec 2 21:42:00 2014
各位版大好, 程式码如以下
假设@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://webptt.com/cn.aspx?n=bbs/Perl/M.1417527722.A.77E.html