2

我想计算一个字符在字符串中出现的次数,

我试过了

length(grep("3", "987654332")[[1]])

[1] 1

它不计算“3”的第二次出现。

我也试过

length(gregexpr("0", "98765432")[[1]])

[1] 1

这可以很好地计算多次出现,但对于未出现的值返回 1。

谢谢!

4

1 回答 1

4

因为当没有匹配时gregexpr返回,你可以这样做:-1

> sum(gregexpr("3", "3398765432")[[1]] != -1)
[1] 3
> sum(gregexpr("0", "3398765432")[[1]] != -1)
[1] 0
于 2012-10-23T23:32:22.597 回答