b*t 发帖数: 489 | 1 自己写了一个简单的perl程序(自认水平是新手中的新手)。其中有一个步骤是检验每
个单词里面是不是含有一个特定的string,比如假如一个单词含有 "tion",我希望能
count++.
我现在写的是
if ($_ = ~/tion/) {
$count ++;
}
这样写的问题就是,如果一个单词含有两个 "tion",我只count了一次。
不知道有没有命令可以count一个scalar里面含有多少个字串(比如我说的 tion).
请多多赐教。 |
t******t 发帖数: 15246 | 2 my @words=($_ =~ /(tion)+/g);
$count+=$#words+1;
maybe this work. |
b******n 发帖数: 592 | |
b*t 发帖数: 489 | |
t*********e 发帖数: 1136 | 5 s//g modifies $_. How about this:
my @m = ($_ ~= /tion//g);
$n += scalar(@m);
【在 b******n 的大作中提到】 : $n += s/tion//g;
|
a***y 发帖数: 2803 | 6 while ($_ =~ /tion/g) {
$count ++;
}
【在 b*t 的大作中提到】 : 自己写了一个简单的perl程序(自认水平是新手中的新手)。其中有一个步骤是检验每 : 个单词里面是不是含有一个特定的string,比如假如一个单词含有 "tion",我希望能 : count++. : 我现在写的是 : if ($_ = ~/tion/) { : $count ++; : } : 这样写的问题就是,如果一个单词含有两个 "tion",我只count了一次。 : 不知道有没有命令可以count一个scalar里面含有多少个字串(比如我说的 tion). : 请多多赐教。
|
b******n 发帖数: 592 | 7 why should you care about it if it is in a
while(<>){}
loop, $_ is discarded after counting anyway.
possibly you can do
s/tion/tion/g;
but again, what's the point?
【在 t*********e 的大作中提到】 : s//g modifies $_. How about this: : my @m = ($_ ~= /tion//g); : $n += scalar(@m);
|