【问题标题】:How to recognise and extract alpha numeric characters如何识别和提取字母数字字符
【发布时间】:2014-11-03 10:36:02
【问题描述】:

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

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

。这应该返回integer(0),但它返回1,这不应该是"abc" 不是字母数字的情况。 我在这里想念什么? 本质上我正在寻找一个函数,它只搜索字母和数字组合的字符,例如:“ABC-0112”,“PCS12SCH” 提前感谢您的帮助。

【问题讨论】:

  • 它返回 1 因为 "abc" 中至少有 1 个字母数字字符。 grep("[[:alnum:]]", c("ABC-0112","PCS12SCH")) 适用于其他两个字符串。不知道你在问什么。

标签: r regex alphanumeric


【解决方案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   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2020-06-14
    • 2010-10-18
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多