Extracting unique numbers from string in R

前端 未结 7 2141
Happy的楠姐
Happy的楠姐 2020-11-27 05:11

I have a list of strings which contain random characters such as:

list=list()
list[1] = \"djud7+dg[a]hs667\"
list[2] = \"7fd*hac11(5)\"
list[3] = \"2tu,g7gka         


        
7条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-11-27 05:59

    You could use ?strsplit (like suggested in @Arun's answer in Extracting numbers from vectors (of strings)):

    l <- c("djud7+dg[a]hs667", "7fd*hac11(5)", "2tu,g7gka5")
    
    ## split string at non-digits
    s <- strsplit(l, "[^[:digit:]]")
    
    ## convert strings to numeric ("" become NA)
    solution <- as.numeric(unlist(s))
    
    ## remove NA and duplicates
    solution <- unique(solution[!is.na(solution)])
    # [1]   7 667  11   5   2
    

提交回复
热议问题