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

如何用R语言stringr包给逗号分隔的分组文本添加括号

使用R的stringr包给指定分组文本添加括号

你可以通过正则表达式配合stringr的str_replace_all()函数实现这个需求,核心是精准匹配等号后、空格/字符串结尾前的逗号分隔分组,再将其包裹括号。

实现代码

library(stringr)

# 原始数据
a <- data.frame(Rule = c("A=0 & B=Grp1,Grp2", "A=0 & B=Grp1,Grp3,Grp4 & C=1"))

# 处理文本:给符合条件的分组加括号
a$Rule <- str_replace_all(a$Rule, "(?<==)([^&]*,[^&]*)(?= &|$)", "($1)")

# 查看结果
a

正则表达式说明

  • (?<==):正向预查,匹配前面是等号=的位置(不捕获等号本身)
  • ([^&]*,[^&]*):捕获分组,匹配包含至少一个逗号的内容,且内容中不包含&(避免跨规则匹配)
  • (?= &|$):正向预查,匹配后面是 &或者字符串结尾的位置(确保只匹配到当前规则的结尾)

运行结果

Rule
1            A=0 & B=(Grp1,Grp2)
2 A=0 & B=(Grp1,Grp3,Grp4) & C=1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:40:24