[問題] 如何取代移除字串中括弧()

看板R_Language作者 (understand?)時間1年前 (2022/08/16 16:33), 編輯推噓4(407)
留言11則, 5人參與, 1年前最新討論串1/1
文章分類提示: - 問題: 當你想要問問題時,請使用這個類別。 [問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我有一組字串,我想要移除"太陽能(kwh)"這個文字,只保留最前端的編號 "01","02","03",但是我發現如果要移除的文字中有() 括弧,則會無法成功 請要如何順利移除 [程式範例]: test <- c("01太陽能(kwh)","02太陽能(kwh)","03太陽能(kwh)") gsub("太陽能(kwh)","",test) [環境敘述]: 請提供 sessionInfo() 的輸出結果, sessionInfo() R version 4.1.3 Patched (2022-03-10 r81883) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 22000) [關鍵字]: 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.51.159.125 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1660638795.A.ECC.html

08/16 16:39, 1年前 , 1F
gsub("太陽能\\(kwh\\)", "", test)
08/16 16:39, 1F

08/16 16:41, 1年前 , 2F
gsub 是吃regular expression ()在re裡面有特別意
08/16 16:41, 2F

08/16 16:41, 1年前 , 3F
義 所以你才會無法取代成功 可以使用跳脫字元來處
08/16 16:41, 3F

08/16 16:41, 1年前 , 4F
理這類問題
08/16 16:41, 4F

08/16 16:41, 1年前 , 5F
具體做法:gaub(“太陽能 \\(kwh\\)”,””,test)
08/16 16:41, 5F

08/16 19:14, 1年前 , 6F
stringer::str_extract(name,"\\d*")
08/16 19:14, 6F

08/16 19:15, 1年前 , 7F
*stringr::
08/16 19:15, 7F

08/18 02:21, 1年前 , 8F
只要編號的話 gsub("([0-9]+)(.+)", "\\1", test) 更好
08/18 02:21, 8F

08/18 02:21, 1年前 , 9F
不管數字後面是什麼文字都可以用
08/18 02:21, 9F

08/18 06:06, 1年前 , 10F
如果編號固定是前兩位數,偷懶作法 stubstr(test,1,2)
08/18 06:06, 10F

08/18 06:08, 1年前 , 11F
typo... @@ 應該是 substr(test, 1, 2)
08/18 06:08, 11F
文章代碼(AID): #1Y-rPBxC (R_Language)
文章代碼(AID): #1Y-rPBxC (R_Language)