R语言中grep函数及grepl函数
一、grep函数
1、提取特定开头项
> dat <- c(34, 22, 43, 64, 52, 347, 54) ## 测试向量 > dat [1] 34 22 43 64 52 347 54 > grep("^3", dat) ## 从dat中检索,提取以3开头的项,返回的是索引 [1] 1 6 > grep("^3", dat, value = T) ## 增加value = T, 则直接返回项的内容 [1] "34" "347"
2、提取特定结尾项
> dat <- c(34, 22, 43, 64, 52, 347, 54) ## 测试向量 > dat [1] 34 22 43 64 52 347 54 > grep("4$", dat) ## 提取以4开头的项,返回的索引 [1] 1 4 7 > grep("4$", dat, value = T) [1] "34" "64" "54"
3、同时指定开头和结尾、间隔字符数
> dat <- c(3847, 22, 43, 64, 52, 347, 54) > dat ## 测试向量 [1] 3847 22 43 64 52 347 54 > grep("^3.*7$", dat) ## 提取以3开头、同时以7结尾的所有项, 返回索引 [1] 1 6 > grep("^3.*7$", dat, value = T) ## 直接返回项 [1] "3847" "347" > grep("^3.7$", dat) ## 提取以3开头,以7结尾,同时中间有一个字符的项,返回索引 [1] 6 > grep("^3.7$", dat, value = T) ## 直接返回项 [1] "347"
4、精确匹配
> dat <- c(3847, 34, 4346, 64, 52, 347, 54) > dat [1] 3847 34 4346 64 52 347 54 > grep(34, dat) ## 提取包含34的项,返回索引 [1] 2 3 6 > grep(34, dat, value = T) ## 提取包含34的项,直接返回值 [1] "34" "4346" "347" > grep("^34$", dat) ## 精确为34的项,返回索引 [1] 2 > grep("^34$", dat, value = T) ## 返回值 [1] "34"
5、逆向匹配
> dat <- c(3847, 34, 4346, 64, 52, 347, 54) > dat [1] 3847 34 4346 64 52 347 54 > grep("^3", dat, value = T) ## 提取以3开头的项,直接返回值 [1] "3847" "34" "347" > grep("^3", dat, value = T, invert = T) ## 提取不以3开头的项,返回值 [1] "4346" "64" "52" "54"
6、忽略大小写
> dat <- c("dfaB", "ab", "ert", "AB", "erAb", "xy") > dat [1] "dfaB" "ab" "ert" "AB" "erAb" "xy" > grep("ab", dat, value = T) ## 提取包含ab的项 [1] "ab" > grep("ab", dat, value = T, ignore.case = T) ## 提取包含ab的项, 忽略大小写 [1] "dfaB" "ab" "AB" "erAb"
二、grepl函数
> dat <- c(34, 42, 36, 43, 35, 734, 223) > dat [1] 34 42 36 43 35 734 223 > grepl(34, dat) ## grepl直接返回逻辑值 [1] TRUE FALSE FALSE FALSE FALSE TRUE FALSE > grepl("^3", dat) [1] TRUE FALSE TRUE FALSE TRUE FALSE FALSE > !grepl("^3", dat) [1] FALSE TRUE FALSE TRUE FALSE TRUE TRUE ## 添加感叹号,逆向返回逻辑值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-05-07 R语言中sapply函数
2021-05-07 linux系统 awk命令统计每一个用户进程占用的内存
2021-05-07 linux系统awk命令拆分文件
2021-05-07 c语言 6-5
2021-05-07 c语言 6-4
2021-05-07 c语言 6-3
2021-05-07 c语言 6-2 输出三个数中的最小值