我想从R中的一个圆形句子中提取字母数字字符。 我尝试过以下方法:
aa=grep("[:alnum:]","abc")
。这应该返回integer(0)
,但它会返回1,但不应该是这种情况,因为"abc"
不是字母数字。
我在这里错过了什么?
基本上我正在寻找一个函数,它只搜索字母和数字组合的字符,例如:“ABC-0112”,“PCS12SCH”
在此先感谢您的帮助。
答案 0 :(得分:1)
[[:alnum:]]
匹配字母或数字。要匹配包含两者的字符串,您应该使用
x <- c("ABC", "ABc12", "--A-1", "abc--", "89=A")
grep("(.*[[:alpha:]].*[[:digit:]]|.*[[:digit:]].*[[:alpha:]])", x)
# [1] 2 3 5
或
which(grepl("[[:alpha:]]", x) & grepl("[[:digit:]]", x))
# [1] 2 3 5