Ruby在每个字符处将字符串拆分为7个字符块

Ruby在每个字符处将字符串拆分为7个字符块,ruby,string,split,character,Ruby,String,Split,Character,如何在ruby中执行以下操作: a = 1234567890 Split into strings 7 characters in length at each character: => [1234567,2345678,3456789,4567890] 谢谢 编辑:谢谢大家的帮助。很抱歉,我没有说出我所尝试的内容(尽管没有任何解决方案)。a=1234567890 #转换为字符串,然后转换该字符串 #放入一个字符数组 chars=a.to#s.chars=>[“1”、“2”、“3”

如何在ruby中执行以下操作:

a = 1234567890

Split into strings 7 characters in length at each character:

=> [1234567,2345678,3456789,4567890]
谢谢

编辑:谢谢大家的帮助。很抱歉,我没有说出我所尝试的内容(尽管没有任何解决方案)。

a=1234567890
#转换为字符串,然后转换该字符串
#放入一个字符数组
chars=a.to#s.chars=>[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”]
切片=[]
#将数组分为7组,每组具有连续索引
每个字母(7)都有字母|
切片[“1234567”、“2345678”、“3456789”、“4567890”]
您正在寻找的关键方法是。

a=1234567890
#转换为字符串,然后转换该字符串
#放入一个字符数组
chars=a.to#s.chars=>[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”]
切片=[]
#将数组分为7组,每组具有连续索引
每个字母(7)都有字母|
切片[“1234567”、“2345678”、“3456789”、“4567890”]

您正在寻找的关键方法是。

如果您想使用一些更晦涩的Ruby方法,那么这也适用:

(0..a.to_s.size-7).map { |i| a.to_s.chars.rotate(i).take(7).join.to_i }
#=> [1234567, 2345678, 3456789, 4567890]

如果您喜欢使用一些更晦涩的Ruby方法,那么这也适用:

(0..a.to_s.size-7).map { |i| a.to_s.chars.rotate(i).take(7).join.to_i }
#=> [1234567, 2345678, 3456789, 4567890]
(?=…)
是一个积极的前瞻
(.{7})
匹配捕获组1中的下七个字符。有关
scan
如何处理捕获组,请参阅。我们有

s = a.to_s
  #=> "1234567890" 
b = s.scan(/(?=(.{7}))/)
  #=> [["1234567"], ["2345678"], ["3456789"], ["4567890"]] 
b.map { |arr| arr.first.to_i }
  #=> [1234567, 2345678, 3456789, 4567890] 
(?=…)
是一个积极的前瞻
(.{7})
匹配捕获组1中的下七个字符。有关
scan
如何处理捕获组,请参阅。我们有

s = a.to_s
  #=> "1234567890" 
b = s.scan(/(?=(.{7}))/)
  #=> [["1234567"], ["2345678"], ["3456789"], ["4567890"]] 
b.map { |arr| arr.first.to_i }
  #=> [1234567, 2345678, 3456789, 4567890] 

欢迎来到堆栈溢出。请阅读“”,包括链接页面。我们想看看你努力的证据。你尝试了什么,为什么没有成功?你在寻找解决方案吗?如果是,他们为什么不帮忙?按原样,看起来您要求我们为您编写代码,但实际情况并非如此。欢迎使用堆栈溢出。请阅读“”,包括链接页面。我们想看看你努力的证据。你尝试了什么,为什么没有成功?你在寻找解决方案吗?如果是,他们为什么不帮忙?照原样,看起来您要求我们为您编写代码,而这不是它的目的。
s = a.to_s
  #=> "1234567890" 
b = s.scan(/(?=(.{7}))/)
  #=> [["1234567"], ["2345678"], ["3456789"], ["4567890"]] 
b.map { |arr| arr.first.to_i }
  #=> [1234567, 2345678, 3456789, 4567890]