【问题标题】:R - gsub only digitsR - gsub 只有数字
【发布时间】:2015-10-18 13:57:29
【问题描述】:

我想清理这个向量,只保留数字

vec = c(" 4010  \"Filling in time budget diary\"", " 8888  \"Prob cont. preceding activity\"", " 9999   \"Missing, undecipherable\";") 

我想要的只是:4010, 8888, 9999

我想到了类似的东西,完全匹配数字,但它不起作用。

gsub("^[[:digit:]]$", replacement = '', vec)

谢谢

【问题讨论】:

    标签: regex r gsub grepl


    【解决方案1】:

    我们可以使用\\D+来匹配所有非数字元素并替换为''

     gsub('\\D+','', vec)
    

    【讨论】:

    • 哦,太好了,+ 是什么意思?
    • @giacomoV 表示一个或多个非数字元素。
    • @giacomoV 或者另一个选项是library(stringr); str_extract_all(vec, '\\d+')
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多