首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除括号和R中字符串之间的所有内容,其中括号可以在字符串中的任何位置?

如何删除括号和R中字符串之间的所有内容,其中括号可以在字符串中的任何位置?
EN

Stack Overflow用户
提问于 2022-10-25 17:14:40
回答 1查看 32关注 0票数 0

我有一个数据集,给我网球成绩,但作为字符类型,如"6-4 3-6 6-2""7-6(6) 6-2"。我想把在比赛中玩的所有游戏加起来,所以我需要删除连字符、空格和平局得分,在第二个例子中被看作是(6)。然后,将它们转换为双打,并将每一个人的数字相加,以得到比赛中的总游戏数,因此对于第一和第二个例子,所玩的游戏总数分别为27和21。

到目前为止,我可以通过使用字符串包和str_replace_all(score, c("-" = "", " " = ""))来处理删除破折号和空格的问题,这给了我一个带有数字的字符串。我不知道如何从字符串中移除分值,因为括号之间的值可以是任何值。不知何故,需要弄清楚如何将"(...)"替换为"",其中任何字符串都可以放在括号内(在我的例子中,只有一个数字)。此外,括号可以出现在字符串的任何位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-25 17:22:43

代码语言:javascript
运行
复制
games <- c("6-4 3-6 6-2" , "7-6(6) 6-2")

sub("\\(.*\\)", "", games) |>
  strsplit(split="-|\\s*") |>
  sapply(function(x) sum(as.numeric(x), na.rm = TRUE))
[1] 27 21
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74197879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档