可能重复:
Format number as fixed width, with leading zeros
sprintf use without gsub
这可能以前已经完成,但我找不到R的线程。
如何增加R中的前导零?
例如,有一个名为x的向量,其元素为:0001,0002,0003 .... 9999
答案 0 :(得分:1)
使用sprintf
:
sprintf("%04s", as.character(1:20))
[1] "0001" "0002" "0003" "0004" "0005" "0006" "0007" "0008" "0009" "0010" "0011" "0012" "0013" "0014" "0015" "0016"
[17] "0017" "0018" "0019" "0020"
在Windows上,我可以找到一个Rhelp帖子,说明你可以通过
获得成功head( sprintf("%04d", 1:999) )
[1] "0001" "0002" "0003" "0004" "0005" "0006"
答案 1 :(得分:0)
如果元素都是4位数,那么正则表达式可以这样做:
gsub("0(\\d{3})","1\\1",x)
更一般地说:
gsub("^0(\\d*)$","1\\1",x)