将引号粘贴到循环内的字符串中

gja*_*bel 25 r

使用R,我想生成多个字符串,例如:

"modelCheck("var1_d.bug")"  
"modelCheck("var2_d.bug")"  
...  
"modelCheck("var10_d.bug")"
Run Code Online (Sandbox Code Playgroud)

我通常会使用for循环和粘贴(如果我不必担心双引号),如下所示:

for(i in 1:10){
    str<-paste("modelCheck(var",i,"_d.bug)",sep="")
    print(str)
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要在字符串中包含双引号,因此请求帮助?

NPE*_*NPE 38

只需用反斜杠转义引号:

paste("modelCheck(var\"",i,"_d.bug\")",sep="")
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用单引号括起字符串:

paste('modelCheck(var"',i,'_d.bug")',sep="")
Run Code Online (Sandbox Code Playgroud)

  • 如果你使用cat(),你应该得到未转义的输出.来吧gjable,aix回答了你的问题...给它"检查". (10认同)
  • 这给了我包含双引号的输出,但也包括斜杠:"modelCheck(\"var1_d.bug \")".如何逃脱逃生? (9认同)
  • 反斜杠不是字符串的一部分,它只是以这种方式打印.您可以通过手动计算字符并与"长度(结果)"进行比较来验证.更重要的是,你究竟想做什么? (4认同)