看板 R_Language 關於我們 聯絡資訊
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) 大家好,小弟是R新手 假設我有二個字串的格式如下 [1] "03Jan-05Jan201602Jul-04Jul2016" [2] "06Jan-09Jan2016January 2017" 我想要把它分離成 "03Jan-05Jan2016" "02Jul-04Jul2016" 與 "06Jan-09Jan2016" "January 2017" [1][2]只是舉例,其實想要處理字串的長度不一 小弟有想到用正則表示式來處理, 以下是我的寫法 # 針對06Jan-09Jan2016格式設計的正則表示式方法 s <- "03Jan-05Jan201602Jul-04Jul2016" x <- gsub("(((0[1-9]|[12][0-9]|3[01]{2})[a-zA-Z]{3})- ((0[1-9]|[12][0-9]|3[01]{2})[a-zA-Z]{3})[0-9]{4})",";",s) x # 只不過斷出來的字串是 # OUT PUT ";;" 其實我想要斷出來的字串是 Result 1: "03Jan-05Jan2016;02Jul-04Jul2016" 或 Result 2: "03Jan-05Jan2016" "02Jul-04Jul2016" 在此,想請問大家, 在R之中是否有其它函數配合 正則表示式用來斷出 Result 1或是 Result 2的結果? 謝謝大家 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.30.197.220 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1452313842.A.C28.html ※ 編輯: corel (110.30.197.220), 01/09/2016 12:47:30
andrew43: 「想要處理字串的長度不一」實際是什麼意思? 01/10 02:25
JackBaska: 用match抓出"20[0-9A-Za-z]+",然後以他為切割字元做 01/12 14:47
JackBaska: strsplit然後把前後缺字補上,即可得到兩個分好的字串 01/12 14:48