如何统计R内置sentences向量中以day、pay、way结尾的句子数量?
解决方案
你可以用stringr包的str_detect()函数结合正则表达式实现这个需求,核心是通过单词边界确保匹配的是完整的结尾单词,不会误判类似away这种包含目标词但并非独立结尾单词的情况。
具体实现
构造正则匹配模式:
\\b(day|pay|way)$\\b:代表单词边界,保证目标词是独立的完整单词(day|pay|way):匹配三个目标词中的任意一个$:匹配字符串的结尾位置,确保目标词处于句子末尾
用
str_detect()检测符合条件的句子,再通过sum()统计数量
代码示例
# 加载stringr包 library(stringr) # 定义匹配模式 pattern <- "\\b(day|pay|way)$" # 统计符合条件的句子数量 match_count <- sum(str_detect(sentences, pattern)) # 输出结果 print(match_count)
逻辑验证
比如句子"The sun came out on a bright day"会被成功匹配,因为结尾是完整的day;而"We walked far away"不会被匹配,因为away是一个完整单词,结尾的way并非独立存在,\\b会排除这种情况。
内容的提问来源于stack exchange,提问作者eas
相关产品推荐
相关产品推荐

