我有一个数据框,我想在其中删除在特定列中找到的所有圆括号。在本例中是在Z列。我编写的代码只删除了一些圆括号。它删除了遇到的第一个方括号,并忽略了其余的方括号。我能否获得一些帮助,以了解如何删除所有圆括号。谢谢
library(tidyverse)
FRUIT <- data.frame("X" = c(1,2,3),
"Y" = c("A1", "A2", "A3"),
"Z" = c('[LEMON(ORANGE)xxx[LEMON(GRAPE)]', "[PEAR(APPLE)]xxxORANGE(APPLE)", "PEACHxxx[APR(ICOT)]"),
stringsAsFactors = FALSE)
输出数据臂为
X Y Z
1 A1 [LEMON(ORANGE)xxx[LEMON(GRAPE)]
2 A2 [PEAR(APPLE)]xxxORANGE(APPLE)
3 A3 PEACHxxx[APR(ICOT)]
我尝试删除括号的代码如下所示:
fruit2<-FRUIT%>%
mutate(Z=str_remove(Z,"\\("))%>%
mutate(Z=str_remove(Z,"\\)"))
这段代码的问题是它没有删除所有的括号,它只删除了最先遇到的括号,而忽略了其余的括号,输出如下:
X Y Z
1 A1 [LEMONORANGExxx[LEMON(GRAPE)]
2 A2 [PEARAPPLE]xxxORANGE(APPLE)
3 A3 PEACHxxx[APRICOT]
我想要的输出是:
X Y Z
1 A1 [LEMONORANGExxx[LEMONGRAPE]
2 A2 [PEARAPPLE]xxxORANGEAPPLE
3 A3 PEACHxxx[APRICOT]
1条答案
按热度按时间goqiplq21#
只需将
str_remove
替换为str_remove_all
,即可获得所需的输出: