r - 如何在R中使用两个模式对象grepl
问题描述
我有一个向量叫
vec <- c("16S_s95_S112_R2_101.fastq.gz",
"16S_s95_S112_R1_001.fastq.gz",
"16S_s94_S103_R2_021.fastq.gz",
"16S_s94_S103_R1_001.fastq.gz")
我想用sample <- "_s95_"
和grepl 项目R1 <- "R1"
。
我想在做 grepl 时使用sample
和对象,并找到匹配的东西和字符串。R1
_s95_
R1
我想要的结果是16S_s95_S112_R1_001.fastq.gz
. 我试过grepl(pattern = sample&R1, x= vec)
这对我不起作用。
我可以用多个 grepl 来做到这一点,但我正试图找到一些巧妙的方法来做到这一点。
解决方案
您需要在模式中多做一些工作才能获得匹配,请尝试:
> grep(paste0(".*", sample, ".*", R1), vec, value=TRUE)
[1] "16S_s95_S112_R1_001.fastq.gz"
推荐阅读
- oracle - 更新新表中的 oracle xmltype 字段值
- mysql - SQL - 多个表的 INNER JOIN 引发语法错误
- security - 无法一次扫描站点地图的所有 URL
- docker - 将 docker 容器中的 QGIS 项目与另一个 docker 容器中的 Postgres+Postgis 连接起来
- javascript - 如果元素在视口中,打字稿检查正在进行
- python - Django / Ubuntu 20 - 如何更改为先前版本的 GDAL
- java - 我想问为什么我不能在框架中打印图像
- reactjs - 获取 babel 自动运行
- javascript - AudioBufferSourceNode.start() 不起作用,或者至少激活但不产生任何声音,我做错了什么吗?
- python - 将多个传感器值发送到 python 服务器