与 R 中的正则表达式的匹配期
Match period with Regex in R
R 中的一个简单的正则表达式操作,但即使是看起来相关的 other questions on SO 也对我没有帮助
我有一个 csv 文件名列表--
library(plyr)
library(stringr)
library(magrittr)
set.seed("43212")
foo <- c(raply(3,
sample(letters, 3, T) %>%
paste0(collapse = "")),
raply(3,
sample(0:9, 3, T) %>%
paste0(collapse = ""))) %>%
str_c(".csv")
foo
[1] "hoo.csv" "wwc.csv" "lll.csv" "406.csv" "120.csv" "362.csv"
我想提取文件名以数字结尾的.csv
个文件,排除以字符结尾的文件名。
我以为我理解 R 中的正则表达式和转义字符——但是这个:
foo %>%
extract(str_sub(., -5) == "\d\.csv")
失败——我错过了什么?
您可以使用 grep。
grep("\d\.csv$", x, value=T)
或
grep("[[:digit:]]\.csv$", x, value=T)
R 中的一个简单的正则表达式操作,但即使是看起来相关的 other questions on SO 也对我没有帮助
我有一个 csv 文件名列表--
library(plyr)
library(stringr)
library(magrittr)
set.seed("43212")
foo <- c(raply(3,
sample(letters, 3, T) %>%
paste0(collapse = "")),
raply(3,
sample(0:9, 3, T) %>%
paste0(collapse = ""))) %>%
str_c(".csv")
foo
[1] "hoo.csv" "wwc.csv" "lll.csv" "406.csv" "120.csv" "362.csv"
我想提取文件名以数字结尾的.csv
个文件,排除以字符结尾的文件名。
我以为我理解 R 中的正则表达式和转义字符——但是这个:
foo %>%
extract(str_sub(., -5) == "\d\.csv")
失败——我错过了什么?
您可以使用 grep。
grep("\d\.csv$", x, value=T)
或
grep("[[:digit:]]\.csv$", x, value=T)