这是一个字符串:
x <- "[CAD]-Other"
我想摆脱方括号内的任何东西,以便
>x
"-Other"
我试过了:
gsub("^\\[[^\\]]*\\]$", "", x)
[1] "[CAD]-Other"
我使用regex101来检查我的正则表达式,它确实可以在该网站上运行: https://regex101.com/r/Xl77pO/1
如何替换字符串中方括号内的任何内容?
答案 0 :(得分:1)
library(rebus)
library(stringr)
x <- "[CAD]-Other"
str_replace(x, pattern = START %R% "\\[" %R% one_or_more(WRD) %R% "]", "")
str_replace(x, pattern = "\\[" %R% one_or_more(WRD) %R% "]", "")
答案 1 :(得分:0)
我们可以匹配一个方括号(转义 - \\[
,因为它是元字符),后跟零个或多个不是右方括号([^]]*
)的字符,后跟一个右方括号( \\]
),替换为空白(""
)
gsub("\\[[^]]*\\]", "", x)
#[1] "-Other"
对于此示例,即使sub
也足够了
sub("\\[[^]]*\\]", "", x)
#[1] "-Other"