【问题标题】:How to concatenate string with quotes and parentheses in R如何在R中将字符串与引号和括号连接起来
【发布时间】:2016-08-24 15:48:01
【问题描述】:

我正在尝试连接两个字符串。第一个字符串应如下所示:

a <- paste("//*/a[@href = 'abcd1234.cfmcyc_dt=",eopm, "&orig_id=1234']",sep="")
> a 
 [1] "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']"

然后我想添加第二个字符串,它只是一个右括号,如下所示:

b <- ")"
c <- noquote(b)
[1] )

我尝试以下方法,但双引号被移到末尾:

paste(a,c)
"//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234'])"

我希望它看起来像这样:

"//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']")

我尝试转义引号,但似乎无法理解。

【问题讨论】:

  • 你为什么要这样做?仅显示外括号,因为它是字符串。他们并不真的在那里。 noquote 不会有帮助,顺便说一句。如果您尝试使用字符串组装函数调用,请停下来并以正确的方式进行。
  • 如果答案确实帮助您解决了问题,请选择一个并关闭问题。如果您还有其他需要,您可以更新问题详细信息。我们很乐意回答。 :)

标签: r escaping concatenation string-concatenation


【解决方案1】:

尝试这样做:

a <- paste("//*/a[@href = 'abcd1234.cfmcyc_dt=", 'eopm' , "&orig_id=1234']",sep="")
b <- '")'
c <- noquote(b)

结果

paste(a, c)
[1] "//*/a[@href = 'abcd1234.cfmcyc_dt=eopm&orig_id=1234'] \")"

【讨论】:

    【解决方案2】:

    试试这个:

    eopm <- 20160731    
    a <- paste0("//*/a[@href = 'abcd1234.cfmcyc_dt=",eopm, "&orig_id=1234']")
    b <- '")'
    c <- noquote(b)
    noquote(paste0('"',a,c))
    

    结果:

    > noquote(paste0('"',a,c))
    [1] "//*/a[@href = 'abcd1234.cfmcyc_dt=20160731&orig_id=1234']")
    

    【讨论】:

    • 根据您发布的内容,您的解决方案并没有真正产生正确的答案。
    • 我编辑了答案,因为我忘记复制变量 eopm 的集合,但它确实产生了结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2015-10-03
    相关资源
    最近更新 更多