在R中如何过滤文件向量,仅返回包含.html后缀的元素
R语言筛选.html后缀文件路径的实现方法
stringr::str_detect() 本身的设计就是返回布尔值序列,用于标识原向量中每个位置的元素是否匹配正则规则,你只需将返回的布尔序列作为索引传入原路径向量,即可提取出符合要求的元素。
为了避免匹配到文件名中间带html、或者后缀带额外字符的错误结果,建议正则规则补充转义的点号和结尾匹配符,精准匹配.html后缀。
- 写法1:搭配索引使用str_detect
files1 <- files[str_detect(files, "\\.html$")] - 写法2:直接使用str_subset一步获取结果(stringr包内置的筛选函数,无需手动写索引)
files1 <- str_subset(files, "\\.html$") - 如果你不想加载stringr包,也可以用base R原生函数实现:
# 用grepl返回布尔值做索引 files1 <- files[grepl("\\.html$", files)] # 用grep加value参数直接返回匹配元素 files1 <- grep("\\.html$", files, value = TRUE)
内容的提问来源于stack exchange,提问作者Nathan Drake
相关产品推荐
相关产品推荐

