python - R 中是否有类似于 Python 的 % 的字符串格式化运算符?

标签 python r string format

我有一个 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/

相关文章:

python - 提取多个垂直条之间的所有数据

python - 列表推导式中定义的变量是否会泄漏到封闭范围中?

python - 将列表作为单个元素插入到元组中

删除在 R 中开始和结束处包含句点的行

r - 有效地将茎和叶转换为 R 中的向量

regex - 需要帮助构建正则表达式

java - 将 String 的 ReplaceAll 与正则表达式一起使用

Python:从大文本文件中删除重复项

r - 在 R 中聚合顺序和分组数据

java - 如何在 JSP 中突出显示字符串中的特定单词