我希望我的字符串以5个字符为一组,例如。
thisisastring => ["thisi", "satri", "ng"]
但我也希望最后一组加上
thisisastring => ["thisi", "satri", "ng___"]
我已经到了断线的地步:
"thisisastring".scan /.{5}/)
["thisi", "satri", "ng"]
但不太确定如何为最后一组填充以使其成为“ng”
尽管开始认为股息(
div()
)、模数(%
)和.ljust
的组合可以做到这一点。可能填充字符的数目是:
(length % 5) * "_"
(如果您可以将其相乘的话)?也许是一些有用的东西:
ruby-1.9.2-p290 :023 > (len % 5).to_i.times { print '_' }
___ => 3
最佳答案
由于只需要对最后一个要素进行调整,所以在拆分前进行调整比在要素上进行调整更为有效。
("thisisastring"+"_"*("thisisastring".length % 5)).scan(/.{5}/)