我想在R中使用grepl
函数来查找字符串是否包含某些内容,但条件是它不在其他内容之前。
例如,假设我想找到一个包含模式'xx'
的字符串,只要它不在'yy'
之前。所以:
'123xx45'
世界归来TRUE
'123yy4xx5'
也会返回TRUE
,因为'yy'
不在'xx'
之前
但'123yyxx45'
会返回FALSE
。
如果有什么不清楚或想要一个更好的例子,请告诉我。
答案 0 :(得分:6)
grepl('(?<!yy)xx', c('123yy4xx5','123xx45','123yyxx45'), perl=TRUE)
怎么样?
答案 1 :(得分:3)
your.data <- c('123yy4xx5','123xx45','123yyxx45')
grepl("xx",your.data) & !grepl("yyxx",your.data)
[1] TRUE TRUE FALSE