my $string =
qq(abdfdafsdf1234sfdafdtegdd2345saste+-fsdfas578dsadfagsdfsd12322sdfs" da"gfgerfg643fgfdsa);
my $dig = ( $string =~ tr/\D/ /c ) ;
print $dig ;
----- Original Message -----
From: "空格" <ribozyme2004@gmail.com>
To: "PerlChina Mongers 讨论组" <perlchina@googlegroups.com>
Sent: Tuesday, December 15, 2009 3:41 PM
Subject: [PerlChina] Re: 如何通过匹配获得一行中想要的所有值
> 最简单的实现:
> my $string = qq(abdfdafsdf1234sfdafdtegdd2345saste+-
> fsdfas578dsadfagsdfsd12322sdfs" da"gfgerfg643fgfdsa);
> my $i = 0;
> my @num;
> while ($string =~ m{\d+}g) {
> $num[$i] = $&;
> $i++;
> }
> $, = ' ';
> print @num;
>
> $string字符串的大小取决于你机器的内存。如果它非常大,那么会很慢。或者你把它拆开来用循环分别找。
>
> On 12月14日, 下午9时32分, zhihua zheng <zhihua.zh...@gmail.com> wrote:
>> 如题:
>>
>> 问题: 我有大量类似的字符串(如下),需要把里面的数字全都获取出来, 首先我们不知道每一行里面有多少个数字串,可能没有,可能有, 要的就是有的那些,
>> (不能通过去除非数字的字符后剩下的作为值打印出来)
>>
>> abdfdafsdf1234sfdafdtegdd2345saste+-fsdfas578dsadfag
>> sdfsd12322sdfs" da"gfgerfg643fgfdsa
>> ....
>>
>> 我希望得到的结果是 :
>>
>> 1234 2345 578 12322 643
>>
>> 开动你的脑筋! 非常感谢了!
>
> --
>
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>
>
--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
没有评论:
发表评论