[英]Removing special characters in a string in R
我有一个数据框,我想在其中删除在特定列中找到的所有圆括号。 在这种情况下,在 Z 列中。我编写的代码仅删除了一些圆括号。 它删除了它遇到的第一个括号,并遗漏了 rest。我能得到一些帮助吗 go 如何删除所有圆括号。 谢谢
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)
output 数据场是
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,"\\)"))
这段代码的问题是它没有删除所有的括号。 它只删除它首先遇到的那些,并忽略 rest。输出如下:
X Y Z
1 A1 [LEMONORANGExxx[LEMON(GRAPE)]
2 A2 [PEARAPPLE]xxxORANGE(APPLE)
3 A3 PEACHxxx[APRICOT]
我想要的 output 是:
X Y Z
1 A1 [LEMONORANGExxx[LEMONGRAPE]
2 A2 [PEARAPPLE]xxxORANGEAPPLE
3 A3 PEACHxxx[APRICOT]
您只需将str_remove
替换为str_remove_all
即可获得所需的 output:
FRUIT %>%
mutate(Z = str_remove_all(Z, "\\(")) %>%
mutate(Z = str_remove_all(Z, "\\)"))
#> X Y Z
#> 1 1 A1 [LEMONORANGExxx[LEMONGRAPE]
#> 2 2 A2 [PEARAPPLE]xxxORANGEAPPLE
#> 3 3 A3 PEACHxxx[APRICOT]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.