R 删除带有2个字母和2个数字的字母数字

R 删除带有2个字母和2个数字的字母数字,r,regex,gsub,alphanumeric,R,Regex,Gsub,Alphanumeric,此代码仅删除数字。请帮助我获得预期的输出 "it is and ZZ100DD22" 你可以用 gsub('[[:digit:]]+', '', a) 看。另一种选择: gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*\\b", "", a, perl=TRUE) 详细信息 \s*-0个或更多空格字符 \b-单词边界 [A-Za-z]{2}-两个ASCII字母(使用\p{L}匹配任何Unicod

此代码仅删除数字。请帮助我获得预期的输出

"it is and ZZ100DD22"
你可以用

gsub('[[:digit:]]+', '', a)
看。另一种选择:

gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*\\b", "", a, perl=TRUE)
详细信息

  • \s*
    -0个或更多空格字符
  • \b
    -单词边界
  • [A-Za-z]{2}
    -两个ASCII字母(使用
    \p{L}
    匹配任何Unicode字母)
  • \d{2}
    -两位数字
  • (?!\d)
    -右边不能有数字
  • \w*
    -0个或更多字母、数字或下划线
  • \b
    -单词边界
在正则表达式的开头添加
(*UCP)
,使其完全了解Uniocde

:

a[1]“它是和ZZ100DD22”
gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*\\b", "", a, perl=TRUE)
gsub("\\s*\\b[A-Za-z]{2}\\d{2}[A-Za-z_]\\w*\\b", "", a)
a <- c("it is ZZ10ASDJN123 and ZZ100DD22")
gsub("\\s*\\b[A-Za-z]{2}\\d{2}(?!\\d)\\w*", "", a, perl=TRUE)
## => [1] "it is and ZZ100DD22"