例如:@abc = (abc,def,ghi,gkl,mno,abc.qqq,def.qqq,ghi.qqq,gkl.qqq,mno.qqq)我现在想把@abc中所有包含.qqq的提取出来,并给到另一个变量。即得到:@www=(abc.qqq,def.qqq,ghi.qqq,gkl.qqq,mno.qqq)第二种:或者能不能将所有带.qqq的字符串,去掉.qqq然后给到另一个变量。因为我想比对所有.qqq前面相同的字母。但现在有.qqq所以对比不了.菜鸡,求大神指教。
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
按照你的要求编写的perl程序如下(先用正则表达式提取,再用正则表达式替换)
@abc = ("abc","def","ghi","gkl","mno","abc.qqq","def.qqq","ghi.qqq","gkl.qqq","mno.qqq"); $size=@abc; @www=(); for($i=0;$i<$size;$i++){ $string=$abc[$i]; if($string=~ m/[A-Za-z]+\.qqq/){ push(@www,$&); } } print "@www\n"; $size=@www; for($i=0;$i<$size;$i++){ $www[$i]=~ s/\.qqq//i; } print "@www\n"; |
DIEA
TA贡献1820条经验 获得超3个赞
添加回答
举报
0/150
提交
取消


