例如:@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条经验 获得超2个赞
添加回答
举报
0/150
提交
取消