Sql R:指定sprintf字符串填充字符
我试图创建10个字符的字符串,方法是用0填充任何少于10个字符的数字。我已经能够用少于10个字符来完成这项工作,但是下面的代码导致10个字符的字符串以空格开头。如何使主角成为0sSql R:指定sprintf字符串填充字符,sql,r,string,Sql,R,String,我试图创建10个字符的字符串,方法是用0填充任何少于10个字符的数字。我已经能够用少于10个字符来完成这项工作,但是下面的代码导致10个字符的字符串以空格开头。如何使主角成为0s # Current code foo <- c("0","999G","0123456789","123456789", "S") bar <- sprintf("%10s",foo) bar # Desired: c("0000000000","000000999G","0123456789", "01
# Current code
foo <- c("0","999G","0123456789","123456789", "S")
bar <- sprintf("%10s",foo)
bar
# Desired:
c("0000000000","000000999G","0123456789", "0123456789", "00000000S)
#当前代码
foo我们需要
sprintf("%010d", as.numeric(foo))
#[1] "0000000000" "0000000999" "0123456789" "0123456789"
如果我们有字符
元素,那么
library(stringr)
str_pad(foo, width = 10, pad = "0")
#[1] "0000000000" "000000999G" "0123456789" "0123456789" "000000000S"
在上面的示例中,所有字符串都是数字,如果我们将“546G”作为元素之一,该怎么办?我希望有一些东西,不会强迫这个数字。该示例已更新,以提供更相关的案例。因其有效而被接受为答案。理想情况下,应该可以轻松地在base R中执行此操作。@user3614648您还可以使用gsub(“,“0”,formatC(foo,width=10))
base R函数检查sprintf(“%010s”,foo)