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

如何在R中移除字符串任意位置的括号及内容以处理网球得分数据?

解决网球得分总局数统计的字符串处理问题

直接用stringr的str_replace_all整合所有替换规则,优先移除括号及内部数字,再清理连字符和空格,具体代码如下:

library(stringr)

# 示例得分数据集
score_data <- c("6-4 3-6 6-2", "7-6(6) 6-2")

# 批量处理字符串:先移除括号及单数字内容,再清理连字符和空格
cleaned_scores <- str_replace_all(score_data, c("\\(\\d\\)" = "", "-" = "", " " = ""))

# 拆分每个字符为数字并求和,得到总局数
total_games <- sapply(cleaned_scores, function(x) sum(as.integer(str_split(x, "")[[1]])))

# 输出结果
total_games

关键细节说明

  • 正则\\(\\d\\):专门匹配(数字)格式的内容,双反斜杠是R中转义特殊字符的要求,\\d代表任意单个数字
  • 替换顺序:先处理括号内容再清理其他符号,避免残留无效字符
  • 结果验证:
    • 第一个示例处理后得到字符串"643662",求和为6+4+3+6+6+2=27
    • 第二个示例处理后得到字符串"7662",求和为7+6+6+2=21,完全符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:50:29