我有一个 URL,我需要发送一个使用日期变量的请求。 https 地址采用日期变量。我想使用 Python 中的格式化运算符 % 将日期分配给地址字符串。 R有类似的操作符还是我需要依赖paste()?
# Example variables
year = "2008"
mnth = "1"
day = "31"
这就是我在 Python 2.7 中要做的事情:
url = "https:.../KBOS/%s/%s/%s/DailyHistory.html" % (year, mnth, day)
或者在 3.+ 中使用 .format()。
我唯一知道在 R 中做的事情似乎很冗长并且依赖于粘贴:
url_start = "https:.../KBOS/"
url_end = "/DailyHistory.html"
paste(url_start, year, "/", mnth, "/", day, url_end)
有更好的方法吗?
最佳答案
R 中的等价物是 sprintf
:
year = "2008"
mnth = "1"
day = "31"
url = sprintf("https:.../KBOS/%s/%s/%s/DailyHistory.html", year, mnth, day)
#[1] "https:.../KBOS/2008/1/31/DailyHistory.html"
另外,虽然我认为这有点矫枉过正,但你也可以自己定义一个运算符。
`%--%` <- function(x, y) {
do.call(sprintf, c(list(x), y))
}
"https:.../KBOS/%s/%s/%s/DailyHistory.html" %--% c(year, mnth, day)
#[1] "https:.../KBOS/2008/1/31/DailyHistory.html"
关于python - R 中是否有类似于 Python 的 % 的字符串格式化运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46085274/