Extract “words” from a string

前端 未结 4 1315
挽巷
挽巷 2021-01-14 07:47

I have a table with 153 rows by 9 columns. My interest is the character string in the first column, I want to extract the fourth word and create a new list from this fourth

4条回答
  •  轮回少年
    2021-01-14 08:33

    Use gsub() with a regular expression

    x <- c("Resistance_Test DevID (Ohms) 428", "Diode_Test SUBLo (V) 353")
    ptn <- "(.*? ){3}"
    gsub(ptn, "", x)
    
    [1] "428" "353"
    

    This works because the regular expression (.*? ){3} finds exactly three {3} sets of characters followed by a space (.*? ), and then replaces this with ane empty string.

    See ?gsub and ?regexp for more information.


    If your data has structure that you don't mention in your question, then possibly the regular expression becomes even easier.

    For example, if you are always interested in the last word of each line:

    ptn <- "(.*? )"
    gsub(ptn, "", x)
    

    Or perhaps you know for sure you can only search for digits and discard everything else:

    ptn <- "\\D"
    gsub(ptn, "", x)
    

提交回复
热议问题