我有一个示例字符串,如下所示
text =“优先。所以...”
我需要计算一个句号发生的次数,以及两个句号发生和三个句号一起发生的次数。对于上述声明,我需要给出以下答案:
单个满停计数:1,两个满停计数:1,三个满停计数:1
我使用R代码:stringr::str_count(text,"\\.\\.\\.")
->这使我连续三个连续句号计数为1,这是正确的。
接下来,我使用:stringr::str_count(text,"\\.\\.")
->这给我一个值2,因为另外三组句号同时出现。但是我希望此计数为1,而另一组必须合计为3个完整止损点。
同样,我需要将单个句号的计数设为'1',但是上面的代码给了我6个计数值。如何在R中实现呢?
提前致谢。
如何在R中实现呢?
您可以使用环视条件来限定句号正则表达式,以确保获得正确的计数:
stringr::str_count(text, "(?<!\\.)\\.(?!\\.)", perl=TRUE) # number of 1 full stops
stringr::str_count(text, "(?<!\\.)\\.\\.(?!\\.)", perl=TRUE) # number of 2 full stops
stringr::str_count(text, "(?<!\\.)\\.\\.\\.(?!\\.)", perl=TRUE) # number of 3 full stops
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句