我正在努力抓住一个字符串中的两个不同元素.
字符串看起来像这样,
str <- c('a_abc', 'b_abc', 'abc', 'z_zxy', 'x_zxy', 'zxy')
Run Code Online (Sandbox Code Playgroud)
我已尝试过不同的选项?grep
,但我无法做到正确,做这样的事情,
grep('[_abc]:[_zxy]',str, value = TRUE)
Run Code Online (Sandbox Code Playgroud)
我想要的是,
[1] "a_abc" "b_abc" "z_zxy" "x_zxy"
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
使用普通括号(
,而不是方括号[
grep('_(abc|zxy)',str, value = TRUE)
[1] "a_abc" "b_abc" "z_zxy" "x_zxy"
Run Code Online (Sandbox Code Playgroud)
为了使其grep
更灵活,您可以执行以下操作:
grep('_.{3}$',str, value = TRUE)
Run Code Online (Sandbox Code Playgroud)
哪个匹配一个下划线_
后跟任何字符.
三次,{3}
然后紧跟字符串的结尾$