R中的字符串检测

时间:2018-12-05 20:12:57

标签: r regex string detect stringr

我有以下字符串。

x <- c("A1A1A1", "A3V???", "B4F3**")

我只希望标记后三个字符不遵循模式[[:digit:]][[:alpha:]][[:digit]]

的字符串

因此,我想标记上面的第二和第三字符串。有什么建议么?

2 个答案:

答案 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") 可能存在更有效的方法,但是据我所知(这是有限的,因为我仍在学习),这可能是一种方法。如果其他人对此答案有任何意见,请随时发表评论!