4

我想将paste两个字符串放在一起并在末尾用另一个字符填充以使组合具有一定的长度。我想知道是否有paste一个可以通过的选项或我缺少的另一个技巧?我可以通过计算每行的长度然后调用pastewith来在多行中执行此操作,rep(my_pad_character,N)但我想在一行中执行此操作。

例如:pad together"hi""hello"pad with an"a"使序列长度为 10。结果将是"hihelloaaa"

4

2 回答 2

8

这是一种选择:

s1 <- "hi"
s2 <- "hello"

f <- function(x, y, pad = "a", length = 10) {
   out <- paste0(x, y)
   nc <- nchar(out)
   paste0(out, paste(rep(pad, length - nc), collapse = ""))
}

> f(s1, s2)
[1] "hihelloaaa"
于 2012-10-22T22:12:42.790 回答
5

您可以使用该stringr功能str_pad

library(stringr)
str_pad(paste0('hi','hello'), side = 'right', width = 10 , pad = 'a')
于 2012-10-22T22:09:46.023 回答