You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中移除数据框指定列所有圆括号的问题求助

移除data.frame指定列中所有圆括号的解决方案

你的问题出在str_remove函数默认仅会移除第一个匹配到的字符,要移除所有圆括号,需要使用str_remove_all(或str_replace_all)来处理所有匹配项。以下是两种可行的实现方式:

方法1:使用str_remove_all分别处理左右括号

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)

fruit2 <- FRUIT %>%
  mutate(Z = str_remove_all(Z, "\\(")) %>%
  mutate(Z = str_remove_all(Z, "\\)"))

print(fruit2)

方法2:使用str_replace_all一次性替换所有圆括号

利用正则表达式的字符类[()]匹配任意一种圆括号,直接替换为空字符串:

fruit2 <- FRUIT %>%
  mutate(Z = str_replace_all(Z, "[()]", ""))

print(fruit2)

两种方法运行后都会得到你期望的输出:

X  Y                          Z
1 1 A1 [LEMONORANGExxx[LEMONGRAPE]
2 2 A2  [PEARAPPLE]xxxORANGEAPPLE
3 3 A3        PEACHxxx[APRICOT]

内容的提问来源于stack exchange,提问作者thole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:50:36