如何使用R中的正则表达式替换括号?

swo*_*olf 6 regex r

我确信这是一个非常简单的问题.在此期间我对R中的RegEx非常熟悉,但我无法理解这一点.

假设,我们有这个字符串:

a <- c("a b . ) ] \"")

现在,我想要做的就是删除引号,点,关闭的paranthesis和结束括号.

所以,我想:"a b".

我试过了:

gsub("[.\\)\"\\]]", "", a)

它不起作用.它返回:"a b . ) ]"所以没有任何东西被删除.

一旦我\\]从搜索模式中排除它,它就有效......

gsub("[.\\)\"]", "", a)

但是,当然,它不会删除右括号!

我做错了什么?!?

谢谢你的帮助!

bgo*_*dst 2

a <- c('a b . ) ] "');
gsub('\\s*[].)"]\\s*','',a);
## [1] "a b"
Run Code Online (Sandbox Code Playgroud)

当您想要在括号表达式中包含右括号字符时,您应该始终首先将其包含在括号内;这导致它被视为括号表达式中的字符,而不是作为括号表达式的结束分隔符。