r - 从字符串中删除第二个逗号后的所有内容
问题描述
我想删除字符串中第二个逗号之后的任何内容-包括第二个逗号-。这是一个例子:
x <- 'Day,Bobby,Jean,Gav'
gsub("(.*),.*", "\\1", x)
它给出了:
[1] "Day, Bobby, Jean"
虽然我想要:
[1] "Day, Bobby
不管可能存在多少名字x
解决方案
利用
> x <- 'Day, Bobby, Jean, Gav'
> sub("^([^,]*,[^,]*),.*", "\\1", x)
[1] "Day, Bobby"
模式^([^,]*,[^,]*),.*
匹配
^
- 字符串的开始([^,]*,[^,]*)
- 第 1 组:0+ 个非逗号、一个逗号和 0+ 个非逗号,.*
- 逗号和字符串的其余部分。
替换模式中的将\1
在结果中保留第 1 组值。
推荐阅读
- python - 页面上的 Python(Flask)刷新给 OpenCv 相机对象带来了问题
- r - 使用 dplyr 聚合组会议条件中的行
- bash - 如何将文件名与变量一起导出?
- azure - 无法使用防火墙将 Azure SQL 数据库导出到存储
- c# - 实体类型“UserBase”无法映射到表,因为它派生自“User”。只有基本实体类型可以映射到表
- javascript - 在我的 gs 代码中,javascript 函数返回值(300100100120)而不是 620
- neo4j - Neo4j:使用列表的替代过滤器(通用方法)
- java - 从通知中打开“活动”后,如何知道哪个“活动”在堆栈顶部?
- r - 如何计算 R 中观察中的单词
- c++ - 支配 n 皇后谜题