尝试使用 gsub 将模式匹配替换为“”
Trying to replace a pattern match with "" using gsub
这是一个字符串:
x <- "[CAD]-Other"
我想去掉方括号内的所有内容,这样
>x
"-Other"
我试过了:
gsub("^\[[^\]]*\]$", "", x)
[1] "[CAD]-Other"
我使用 regex101 来完整性检查我的正则表达式,它似乎在那个网站上有效:
https://regex101.com/r/Xl77pO/1
如何替换字符串中方括号内包含的任何内容?
我们可以匹配一个方括号(转义 -\[
,因为它是一个元字符)后跟零个或多个不是右方括号 ([^]]*
) 的字符,后跟一个右方括号括号 (\]
),替换为空白 (""
)
gsub("\[[^]]*\]", "", x)
#[1] "-Other"
对于这个例子,即使 sub
也足够了
sub("\[[^]]*\]", "", x)
#[1] "-Other"
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% "]", "")
这是一个字符串:
x <- "[CAD]-Other"
我想去掉方括号内的所有内容,这样
>x
"-Other"
我试过了:
gsub("^\[[^\]]*\]$", "", x)
[1] "[CAD]-Other"
我使用 regex101 来完整性检查我的正则表达式,它似乎在那个网站上有效: https://regex101.com/r/Xl77pO/1
如何替换字符串中方括号内包含的任何内容?
我们可以匹配一个方括号(转义 -\[
,因为它是一个元字符)后跟零个或多个不是右方括号 ([^]]*
) 的字符,后跟一个右方括号括号 (\]
),替换为空白 (""
)
gsub("\[[^]]*\]", "", x)
#[1] "-Other"
对于这个例子,即使 sub
也足够了
sub("\[[^]]*\]", "", x)
#[1] "-Other"
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% "]", "")