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

如何使用R替换方括号内字符串中的逗号为连字符?

R语言替换字符串方括号内逗号的解决方案

原始字符串:

original_str <- "{group_boundaries:[0,2620,2883], sample_boundaries:[0,40,80]}"

期望结果:

"{group_boundaries:[0-2620-2883], sample_boundaries:[0-40-80]}"

方法一:Base R 原生实现

使用正则表达式的正向预查,精准匹配方括号内部的逗号并替换:

result <- gsub(",(?=[^\\]]*\\])", "-", original_str, perl = TRUE)

正则说明:

  • ,(?=[^\\]]*\\]):
    • , 直接匹配目标逗号
    • (?=[^\\]]*\\]) 正向预查规则,确保逗号后方的内容会在遇到]前结束(即该逗号处于方括号内部)

方法二:stringr 包实现(tidyverse 生态)

通过先匹配所有方括号包裹的内容,再对每个匹配块内部替换逗号:

library(stringr)
result <- str_replace_all(original_str, "\\[([^\\]]+)\\]", function(match) {
  str_replace_all(match, ",", "-")
})

两种方法执行后,result都会得到你需要的目标字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:27:18