反斜杠问题(网址中的网址)

时间:2016-08-25 13:59:25

标签: r

我已经在其他语言中看到了这个问题的解决方案,但在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之后摆脱这些反斜杠?

1 个答案:

答案 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\""