Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql R:指定sprintf字符串填充字符_Sql_R_String - Fatal编程技术网

Sql R:指定sprintf字符串填充字符

Sql 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

我试图创建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", "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)