如何将两个向量粘贴在一起并在末尾填充?

时间:2012-10-22 22:04:09

标签: string r paste

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

Ex:填充"hi""hello"并填充"a"以使序列长度为10.结果为"hihelloaaa"

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:5)

您可以使用stringr函数str_pad

library(stringr)
str_pad(paste0('hi','hello'), side = 'right', width = 10 , pad = 'a')