【发布时间】:2019-05-07 11:28:30
【问题描述】:
我有以下字符串。
x <- c("A1A1A1", "A3V???", "B4F3**")
我只想标记最后 3 个字符不遵循模式的字符串[[:digit:]][[:alpha:]][[:digit]]
因此,我想标记上面的第二个和第三个字符串。有什么建议?
【问题讨论】:
-
!grepl(".*([[:digit:]][[:alpha:]][[:digit:]])$", x)标记它们并将为第二个和第三个字符串提供TRUE值 -
和
grep(".*([[:digit:]][[:alpha:]][[:digit:]])$", x, value = TRUE)只返回满足条件的那个:A1A1A1 -
试试
(?:[^\d]..|.[^a-zA-Z].|..[^\d])$,因为不管怎么写,引擎都得走这些步骤,何不就这样写。
标签: r regex string detect stringr