首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除两种不同标点符号后的所有内容

如何删除两种不同标点符号后的所有内容
EN

Stack Overflow用户
提问于 2014-06-03 08:58:23
回答 2查看 57关注 0票数 0

考虑一下

代码语言:javascript
复制
temp <- c("12/30 - 1/5", "4/21-4/27")
##[1] "12/30 - 1/5" "4/21-4/27"

我需要

代码语言:javascript
复制
##[1] "12/30"     "4/21" 

虽然我知道如何把它们分开生产

代码语言:javascript
复制
gsub(" .*", "", temp)
##[1] "12/30"     "4/21-4/27"

gsub("-.*", "", temp)
##[1] "12/30 " "4/21" 

我如何将它们组合成一个表达式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-03 09:07:21

这就是字符类存在的目的:

代码语言:javascript
复制
> gsub("[ -].*", "", temp)
[1] "12/30" "4/21"

注意:在字符类中,破折号具有特殊的意义,除非它位于类的第一个或最后一个位置:然后它表示一个范围(在[0-9]中,它匹配09之间的任何数字)。如果只想匹配09或文字-,则必须使用[09-])。在当前正则表达式中,这不是一个问题,因为类中只有两个字符。但是,当您开始扩展类(添加新字符)时,请确保将破折号保留在末尾。

票数 5
EN

Stack Overflow用户

发布于 2014-06-03 09:06:02

你也许可以把它们放在一起,但我个人觉得很难读懂。只需一个接一个地应用gsub更容易:

代码语言:javascript
复制
> gsub("\\-.*", "",gsub("\\ .*", "", temp))
[1] "12/30" "4/21"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24010999

复制
相关文章

相似问题

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