我想用ruby格式化字符串的输出。我可以使用%来完成,但无法解决。

我想输出201107070928而不是2011\07\070928

puts "%.4s\\%.2s\\%s" % "201107070928"

给我一个错误:'%':参数太少(ArgumentError)

最佳答案

我将其放在答案中而不是评论中,只是因为我对这种可能性印象深刻。使用String#unpack,我们可以通过以下方式处理4位数字/2位数字/任何:

"201107070928345345345".unpack("a4a2a*").join('/')
 => "2011/07/070928345345345"

07-26 09:35