计算R中的结束标记
问题描述:
我有一串句子,并且想要统计所有我认为是结束标记的东西。计算R中的结束标记
那些结束标记包括:。 ? ! * _
[这么一个句号,问号,叹号,星号或下划线]
我想用基地R.因此,例如,下面的字符串将有一个算这些事件的最快方法6.
x <- "I like to play. Do you? Yes I do! Go* I didn't say it, but will. I wanted to but_"
计数和这个字符串将有4计数:
y <- "I like it! Do you? Look* Where are you go_"
解决方案应该使用base R,因为这是用于包的。先谢谢你。
答
我不知道这是否是最快方式,但很容易:
> x <- "I like to play. Do you? Yes I do! Go* I didn't say it, but will. I wanted to but_"
> y <- "I like it! Do you? Look* Where are you go_"
>
> length(gregexpr("[.?!*_]", x)[[1]])
[1] 6
> length(gregexpr("[.?!*_]", y)[[1]])
[1] 4
最新通报
gregexpr
回报-1
如果没有比赛,所以你需要检查一下。这将是正确的:
sum(gregexpr("[.?!*_]", x)[[1]] > 0)
答
签出stringr ::: string_count。在包中导入其他有用的函数是公平的。
我刚刚尝试过,效果很好。为了我的目的,它非常快。我会尽快接受。谢谢+1 – 2012-03-26 06:55:16
除此之外,您可以一次执行它们:sapply(gregexpr(“[。?!* _]”,c(x,y)),长度)。 – 2012-03-26 06:57:01
@TylerRinker请找我的更新。 – kohske 2012-03-26 07:02:52