如何"grep"不以"x"结尾的列列表

Gab*_*yLP 0 regex r

我需要在R中创建一个变量列表,以便在另一个过程中使用.我想排除以"usd"结尾的所有变量.我正在使用grep但无法做到:

h <- grep(!'*.usd$', colnames(mk2), value=TRUE)
Run Code Online (Sandbox Code Playgroud)

MrF*_*ick 5

你不能只是坚持!正则表达式来反转它我害怕.但是,如果您查看?grep帮助页面,您会看到它grep有一个invert=参数.尝试

mk2 <- data.frame("ausd"=1,"busd"=2,"ceur"=3,"deru"=4,"eusd"=5)
h <- grep('usd$', colnames(mk2), value=TRUE, invert=TRUE)
# [1] "ceur" "deru"
Run Code Online (Sandbox Code Playgroud)


Dav*_*urg 5

或者您可以使用grepl(使用@MrFlick)示例数据

colnames(mk2)[!grepl('usd$', colnames(mk2))]
## [1] "ceur" "deru"
Run Code Online (Sandbox Code Playgroud)