字符串函数,用于在最后一个单词之前用“和”连接以逗号分隔的单词向量

时间:2019-05-10 16:24:54

标签: r stringr stringi

我知道我可以很容易地写一个,但是没有人知道stringr(或stringi)是否已经具有一个函数,该函数将一个或多个用逗号分隔的单词的向量连接起来,但是在最后一个单词之前加上“ and”?

2 个答案:

答案 0 :(得分:5)

您可以使用knitr::combine_words功能

knitr::combine_words(letters[1:2])
# [1] "a and b"
knitr::combine_words(letters[1:3])
# [1] "a, b, and c"
knitr::combine_words(letters[1:4])
# [1] "a, b, c, and d"

答案 1 :(得分:1)

这是另一种解决方案:

enum <- function(x) 
  paste(c(head(x,-2), paste(tail(x,2), collapse = ", and ")), collapse = ", ")
enum(letters[1])
#> [1] "a"
enum(letters[1:2])
#> [1] "a, and b"
enum(letters[1:3])
#> [1] "a, b, and c"
enum(letters[1:4])
#> [1] "a, b, c, and d"

reprex package(v0.2.1)于2019-05-11创建