替换R中的文本时出错

Man*_*ish 5 regex replace runtime-error r

我用sub替换R中的一个文本.

 x<-"My name is ${name}"
 sub("${name}","Tiger",x)
Run Code Online (Sandbox Code Playgroud)

错误信息:

Error in sub("${name}", "Tiger", x) : 
  invalid regular expression '${name}', reason 'Invalid contents of {}'
Run Code Online (Sandbox Code Playgroud)

输入文本有{},如何修复此错误?

flo*_*del 8

$,{并且}需要转义:

sub("\\$\\{name\\}","Tiger",x)
# [1] "My name is Tiger"
Run Code Online (Sandbox Code Playgroud)


seb*_*n-c 8

使用fixed=TRUE参数:

sub("${name}","Tiger",x, fixed=TRUE)
# [1] "My name is Tiger"
Run Code Online (Sandbox Code Playgroud)