2012-11-04 160 views
2

我只是想知道是否有更好的办法由N个字符来分割字符串,字符串到字符串:分割字符串由N个字符

"something" (by 4 characters) -> ["some", "omet", "meth", "ethi", "thin", "hing"] 

这里是我的代码:

n = 4 
s = "something" 
result = [] 

0.upto(s.size - n) do | idx | 
    result << s[idx..idx+n-1] 
end 

p result 

回答

4
"something".chars.each_cons(4).map(&:join) 
=> ["some", "omet", "meth", "ethi", "thin", "hing"] 
+4

也许用'chars'来替换'split(//)'。 – steenslag

+0

@steenslag,同意 – megas