我的问题如下:我需要编写自己的打印功能,输出应该保存到文本文件中,看起来非常类似于表格。
基本上我的结构是:
Description Symbol Rank
我是这样做的:
paste("Description Symbol Rank", "\n",sep="")
现在你可以猜到我的问题。一些符号描述是10个字母长,有些是20个等等。这就是为什么我对这些行的粘贴功能不能那么简单。我如何编程这个填充让我们说一个20个字母长的字符串剩余的10个空格,而对于一个10个字母的字符串我用其余的空格填充剩下的20个字符串?
答案 0 :(得分:2)
paste0(yourstring,paste0(rep(" ",20-nchar(yourstring)),collapse = ""))
这应该有帮助......我想
答案 1 :(得分:1)
你可以玩str_pad
> x <- c("Description", "Symbol", "Rank")
> library(stringr)
> str_pad(x, 20)
# [1] " Description" " Symbol" " Rank"
> str_pad(x, 20, side = "right")
# [1] "Description " "Symbol " "Rank "
> c(str_pad(x[1], 20, "right"), str_pad(x[2], 20), x[3])
# [1] "Description " " Symbol" "Rank"
答案 2 :(得分:1)
第三种解决方案是经典的sprintf
:
> x <- c("Description", "Symbol", "Rank")
> sprintf("%20s",x)
[1] " Description" " Symbol" " Rank"
答案 3 :(得分:1)
您也可以使用formatC
formatC(x, width=-20)
#[1] "Description " "Symbol " "Rank "