看板 R_Language 關於我們 聯絡資訊
這個其實很單純 最後要的數字前面一定有一個非數字的字元?(" "或"_") 所以也不用管到底是4位數還是7位數,或其他任何位數 把結尾的連續數字取出來就好了 直到前面的字元不是數字為止 stringr裡面的str_extract非常好用 str_extract("你的檔名", "[0-9]+$") -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.30.180 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1634146335.A.465.html
fox1375: 如果想用gsub,就是原文留言a大講的那樣 用.會包山包海 10/14 01:47
fox1375: 我的習慣寫法會是"(.+)([_ ])([0-9]+$)", "\\3" 10/14 01:48
fox1375: 拆成三部分(因為第一部分也可能有數字),不能[^0-9] 10/14 01:49
fox1375: 缺點是要先知道分隔字元是且只" "或"_",並不是那麼泛用 10/14 01:51
fox1375: str_extract是近期覺得最好的方案 10/14 01:51
fox1375: 補充,如果除了" "和"_"還有其他可能的分隔字元,改成 10/14 02:07
fox1375: "(.+)([^0-9])([0-9]+$)", "\\3" 就可以了(非數字做分隔) 10/14 02:12
locka: 感謝f大,學習了~(另想確定,所以"\\n"對應的就是第幾個括 10/14 06:56
locka: 號的比對結果嗎?謝謝) 10/14 06:56
fox1375: 沒錯, \\n 就是對應第n個括號 10/14 13:44
andrew43: 確實方便很多,推薦。 10/14 15:19
luenchang: 用"(.+)([_ ])([0-9]+$)", "\\3"成功拿出第3部分 11/01 20:36
luenchang: 非常感謝fox1375的指點 11/01 20:37