我有一个类似
的字符串adgroupname <-"life sciences | medical device"
我要替换
" | " with "|"
,输出应该像
life sciences|medical device
我正在使用
adgroupname <- gsub(pattern=" | ",replacement="|",x=adgroupname)
但输出显示为
life|sciences|||medical|device
如何使用R? R.any的新人帮助表示赞赏。
答案 0 :(得分:3)
|
符号是正则表达式的特殊字符,必须进行转义。此符号表示或这两种可能性。在这里,您要说的是用|
替换空格或空格。也就是说,用|
代替每个空格,这就是它所做的。
我更喜欢将一个字符类用于转义,这也适用:
gsub(pattern=" [|] ",replacement="|",x=adgroupname)
## [1] "life sciences|medical device"
结果相同,但您需要更少的反斜杠。
这不是这种情况,但是当你必须通过shell将正则表达式传递给另一个进程时,计算反斜杠会非常繁琐。
答案 1 :(得分:2)
您需要转义管道符号:
adgroupname<-gsub(" \\| ", "|", adgroupname)
结果:
> adgroupname <-"life sciences | medical device"
> adgroupname
[1] "life sciences | medical device"
> adgroupname<-gsub(" \\| ", "|", adgroupname)
> adgroupname
[1] "life sciences|medical device"