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

如何用Base R正则表达式重排含Sepal.Length的表达式字符串

解决方案

用Base R的gsub结合正则捕获组就能实现通用转换,核心是精准匹配字符串结构并重组各部分:

# 示例输入
orig <- "mean(Sepal.Length, na.rm = TRUE)"
# 执行转换
result <- gsub("^([a-zA-Z0-9_]+)\\((Sepal\\.Length)(.*)\\)$", '"\\2$\\1\\3"', orig)
# 查看结果
result
#> [1] "Sepal.Length$mean(na.rm = TRUE)"

正则规则说明

  • ^([a-zA-Z0-9_]+):捕获开头的函数名(匹配R合法的函数命名规则)
  • \\((Sepal\\.Length):匹配左括号后固定的Sepal.Length并捕获
  • (.*)\\)$:捕获Sepal.Length之后到右括号的所有内容(包括参数、逗号等)
  • 替换模板"\\2$\\1\\3":将捕获的第二组(Sepal.Length)放在最前,接着是$,然后是第一组(函数名),最后拼接第三组(剩余参数部分)

测试无参数场景

如果输入是不带额外参数的表达式:

orig2 <- "sum(Sepal.Length)"
gsub("^([a-zA-Z0-9_]+)\\((Sepal\\.Length)(.*)\\)$", '"\\2$\\1\\3"', orig2)
#> [1] "Sepal.Length$sum()"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:52:09