作者studioA (understand?)
看板R_Language
标题[问题] 如何取代移除字串中括弧()
时间Tue Aug 16 16:33:13 2022
文章分类提示:
- 问题: 当你想要问问题时,请使用这个类别。
[问题类型]:
程式谘询(我想用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://webptt.com/cn.aspx?n=bbs/R_Language/M.1660638795.A.ECC.html
1F:推 lycantrope: gsub("太阳能\\(kwh\\)", "", test) 08/16 16:39
2F:推 celestialgod: gsub 是吃regular expression ()在re里面有特别意 08/16 16:41
3F:→ celestialgod: 义 所以你才会无法取代成功 可以使用跳脱字元来处 08/16 16:41
4F:→ celestialgod: 理这类问题 08/16 16:41
5F:→ celestialgod: 具体做法:gaub(“太阳能 \\(kwh\\)”,””,test) 08/16 16:41
6F:→ xiangying: stringer::str_extract(name,"\\d*") 08/16 19:14
7F:→ xiangying: *stringr:: 08/16 19:15
8F:推 fox1375: 只要编号的话 gsub("([0-9]+)(.+)", "\\1", test) 更好 08/18 02:21
9F:→ fox1375: 不管数字後面是什麽文字都可以用 08/18 02:21
10F:推 hohiyan: 如果编号固定是前两位数,偷懒作法 stubstr(test,1,2) 08/18 06:06
11F:→ hohiyan: typo... @@ 应该是 substr(test, 1, 2) 08/18 06:08