我将这些字符串放在一个文件夹中。假设该文件夹中还有其他类似的文件。
[3] "/farm/chickens_industrial_meat_location_df.csv"
[4] "farm/goats_grassland_meat_location_df.csv"
我正在尝试使用字符串 location_df
提取文件同时排除带有字符串 chickens
的文件& location_df
.
我想我可以通过输入:list.files(pattern = "location_df(?<!(chickens))"
来做到这一点
我的理解是,使用否定查找会删除具有 chickens
的字符串。 。我对正则表达式有什么不理解的地方以及我的问题的解决方案是什么。
最佳答案
带有 grepl
的选项是
str1[!grepl('chickens_.*location_df', str1) & grepl('location_df', str1)]
#[1] "farm/goats_grassland_meat_location_df.csv"
或者更简化的版本是
str1[!grepl('chickens_', str1) & grepl('location_df', str1)]
数据
str1 <- c("/farm/chickens_industrial_meat_location_df.csv",
"farm/goats_grassland_meat_location_df.csv" )
关于r - 在 R 中使用负向后查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63476825/