我已经在其他语言中看到了这个问题的解决方案,但在R. 我有一个简单的api调用,我在其中创建一个包含其他URL的URL。 这样的事情:
paste0('http://www.server.com/select?q="',url,'"&sort=likes+desc')
问题是我粘贴了
的网址url = "http://www.someotherserver.com/something/pic.jpg"
当我打印网址时,它会给我:
"http://www.server.com/select?q=\"http://www.someotherserver.com/something/pic.jpg\"&sort=likes+desc"
尝试使用gsub,substring,保存到文件但似乎没有任何效果。如何在q =之后和url之后摆脱这些反斜杠?
答案 0 :(得分:3)
您的代码一切都很好。它产生字符串
http://www.server.com/select?q="http://www.someotherserver.com/something/pic.jpg"&sort=likes+desc
反斜杠仅由print
函数插入,以显示"
不结束字符串,但是是字符串的一部分。
比较
> "abc"
[1] "abc"
> "abc \"def\""
[1] "abc \"def\""
> cat("abc \"def\"\n")
abc "def"
在第二种情况下,它会打印与您键入的字符串相同的字符串表示形式。但是,这不是实际的字符串。您可以使用cat()
来查看“原始”字符串。
此外,字符串'abd "def"'
和"abc \"def\""
相同。这些都是输入相同字符串的不同方式。使用单引号时,您不必转义双引号。但是,在打印字符串时,R
始终使用双引号:
> "abc \"def\""
[1] "abc \"def\""
> 'abc "def"'
[1] "abc \"def\""