[问题] 如何取代移除字串中括号()

楼主: 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