我有以下数据
GT-BU7867-09
GT-BU6523-113
GT-BU6452-1
GT-BU8921-12
Run Code Online (Sandbox Code Playgroud)
如何使用R来使连字符后面的数字填充前导零,以便它有三位数?生成的格式应如下所示:
GT-BU7867-009
GT-BU6523-113
GT-BU6452-001
GT-BU8921-012
Run Code Online (Sandbox Code Playgroud)
the*_*ail 11
基础解决方案
sapply(strsplit(x,"-"), function(x)
paste(x[1], x[2], sprintf("%03d",as.numeric(x[3])), sep="-")
)
Run Code Online (Sandbox Code Playgroud)
结果:
[1] "GT-BU7867-009" "GT-BU6523-113" "GT-BU6452-001" "GT-BU8921-012"
Run Code Online (Sandbox Code Playgroud)