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

作者: studioA (understand?)   2022-08-16 16:33:13
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別。
[問題類型]:
程式諮詢(我想用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)
[關鍵字]:
選擇性,也許未來有用
作者: lycantrope (阿寬)   2022-08-16 16:39:00
gsub("太陽能\\(kwh\\)", "", test)
作者: celestialgod (天)   2022-08-16 16:41:00
gsub 是吃regular expression ()在re裡面有特別意義 所以你才會無法取代成功 可以使用跳脫字元來處理這類問題具體做法:gaub(“太陽能 \\(kwh\\)”,””,test)
作者: xiangying (xiangying)   2022-08-16 19:14:00
stringer::str_extract(name,"\\d*")*stringr::
作者: fox1375 (阿吠)   2022-08-18 02:21:00
只要編號的話 gsub("([0-9]+)(.+)", "\\1", test) 更好不管數字後面是什麼文字都可以用
作者: hohiyan (海洋)   2022-08-18 06:06:00
如果編號固定是前兩位數,偷懶作法 stubstr(test,1,2)typo... @@ 應該是 substr(test, 1, 2)

Links booklink

Contact Us: admin [ a t ] ucptt.com