【发布时间】:2015-07-31 11:35:07
【问题描述】:
我确信这是一个非常简单的问题。与此同时,我对 R 中的 RegEx 非常熟悉,但我就是无法理解这一点。
假设,我们有这个字符串:
a <- c("a b . ) ] \"")
现在,我要做的就是删除引号、点、右括号和右括号。
所以,我想要:"a b"。
我试过了:
gsub("[.\\)\"\\]]", "", a)
它不起作用。它返回:"a b . ) ]" 所以什么都没有被删除。
只要我从搜索模式中排除 \\],它就会起作用...
gsub("[.\\)\"]", "", a)
但是,当然,它不会删除右括号!
我做错了什么?!?
感谢您的帮助!
【问题讨论】:
-
试试
gsub('[[:punct:] ]+', ' ', a)最好也显示预期的输出。或gsub('[][]|[.")]', '', a) -
谢谢!第二个对我有用。当然,[[:punct:]] 版本也可以,但我不想删除所有标点符号。你能给我一个提示,为什么我的版本不起作用。我想了解这个问题。谢谢!