我有以下字符串。
x <- c("A1A1A1", "A3V???", "B4F3**")
我只希望标记后三个字符不遵循模式[[:digit:]][[:alpha:]][[:digit]]
因此,我想标记上面的第二和第三字符串。有什么建议么?
答案 0 :(得分:0)
grepl
在这里很合适
> !grepl("\\d\\w\\d$", x)
[1] FALSE TRUE TRUE
如果您想获得该职位:
> grep("\\d\\w\\d$", x, invert = TRUE)
[1] 2 3
答案 1 :(得分:0)
为澄清起见,您是否要删除那些不遵循该模式的字符串?我想到的方法是clnstrings <- str_remove_all(vectornameofstrings, "symbols or patterns that you would want removed")
可能存在更有效的方法,但是据我所知(这是有限的,因为我仍在学习),这可能是一种方法。如果其他人对此答案有任何意见,请随时发表评论!