首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >根据字符串匹配过滤字符串向量

根据字符串匹配过滤字符串向量
EN

Stack Overflow用户
提问于 2011-08-25 16:44:37
回答 3查看 53.6K关注 0票数 39

我有以下向量:

代码语言:javascript
复制
X <- c("mama.log", "papa.log", "mimo.png", "mentor.log")

如何检索另一个只包含以"m“开头并以".log”结尾的元素的向量?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-25 16:53:53

可以将grepl与正则表达式一起使用:

代码语言:javascript
复制
X[grepl("^m.*\\.log", X)]
票数 72
EN

Stack Overflow用户

发布于 2011-08-25 18:52:22

试试这个:

代码语言:javascript
复制
grep("^m.*[.]log$", X, value = TRUE)
## [1] "mama.log"   "mentor.log"

它的一个变体是使用glob而不是正则表达式:

代码语言:javascript
复制
grep(glob2rx("m*.log"), X, value = TRUE)
## [1] "mama.log"   "mentor.log"
票数 28
EN

Stack Overflow用户

发布于 2017-12-28 00:59:32

使用管道...

代码语言:javascript
复制
library(tidyverse)

c("mama.log", "papa.log", "mimo.png", "mentor.log") %>%
 .[grepl("^m.*\\.log$", .)]
[1] "mama.log"   "mentor.log"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7187442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档