在url中,我正在处理应作为字符串传递的特殊字符'%'。网址中包含一些参数,因此我使用sprintf.如何在r中转义符号'%'?

start <- 1
#%s is my variable
url<-(sprintf('https://www.amazon.com/s/ref=sr_pg_%s?rh=n%3A172282%2Cn%3A%21493964%2Cn%3A502394%2Cn%3A281052%2Cn%3A12556502011%2Cn%3A3017941&page=%s&ie=UTF8', start, start))



格式无效'%2Cn%3A';对字符对象使用格式%s

最佳答案

作为sprintf的帮助文件状态:


C函数sprintf的包装,...


因此,按照与R相同的方式以C对其进行转义,使用双百分号%%产生一个%,按照

How to escape sprintf() % marks so they wont be recognized as variables?

在您的代码上,我们可能会生成一个网址,该网址大概是在amazon.com搜索中提取的第一页:

url<-(sprintf('https://www.amazon.com/s/ref=sr_pg_%s?rh=n%%3‌​A172282%%2Cn%%3A%%21‌​493964%%2Cn%%3A50239‌​4%%2Cn%%3A281052%%2C‌​n%%3A12556502011%%2C‌​n%%3A3017941&page=%s‌​&ie=UTF8', start, start))


产生

> url
[1] "https://www.amazon.com/s/ref=sr_pg_1?rh=n%3A172282%2Cn%3A%21493964%2Cn%3A502394%2Cn%3A281052%2Cn%3A12556502011%2Cn%3A3017941&page=1&ie=UTF8"

关于r - 如何在r中转义百分比“%”的符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40211391/

10-12 12:35
查看更多