r - 使用 R 计算字符串中的单句点和双句点
问题描述
我有一个示例字符串,如下所示
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
推荐阅读
- c++ - 如何将文本文件传递到 C++ 中的二维数组?
- mysql - 为了在 Debian 下激活 MySQL 8 的分区插件,必须做什么?
- java - 2 HashMaps VS HashMap 包含对
- validation - 本地和云数据库之间的 Datadog 数据验证
- apache-spark-sql - 在 sas 中合并 - 在 python 中合并
- terraform - 如果 user_data 未能运行完成,如何创建 aws_instance 失败
- spring-boot - 在 log4j2 配置中使用 TimeBasedTriggeringPolicy
- css - Vue Js 过渡只在进入时有效,不离开时有效
- web-scraping - 如何使用 Web Scraper 或其他替代方法抓取大量(>800)Google 我的地图位置数据(“来自 Google 地图的详细信息”)?
- node.js - Parse Server - 从后端使用 Apple 登录