如何识别和提取R中的字母数字字符

问题描述 投票:0回答:1

我想从R中的特定句子中提取字母数字字符。我尝试过以下方法:

aa=grep("[:alnum:]","abc")

。这应该返回integer(0),但它返回1,但不应该是这种情况,因为"abc"不是字母数字。我在这里错过了什么?基本上我正在寻找一个功能,只搜索字母和数字组合的字符,例如:“ABC-0112”,“PCS12SCH”在此先感谢您的帮助。

regex r grep alphanumeric
1个回答
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   
© www.soinside.com 2019 - 2024. All rights reserved.