2009年12月14日星期一

[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 访问此网上论坛。

没有评论: