Wenn Sie "aufeinanderfolgende Strings" mit einer Länge von 3 wollen:
r =/
(?= # begin a positive lookahead
((.{3}) # match any three characters in capture group 1
) # close the positive lookahead
/x # free-spacing regex definition mode
"abcdef".scan(r).flatten
#=> ["abc", "bcd", "cde", "def"]
in der herkömmlichen Art und Weise geschrieben, diese Regex ist:
r = /(?=(.{3}))/
Wenn Sie ein Array von Arrays von möchten drei Buchstaben, tun dies:
"abcdef".scan(/(?=(.{3}))/).flatten.map { |s| s.split('') }
#=> [["a", "b", "c"], ["b", "c", "d"], ["c", "d", "e"], ["d", "e", "f"]]
1. 'in_groups_of' ist eine Rails-Methode. 2. Ergebnis ist anders. – Ilya
Danke Ich habe nicht daran gedacht. – fabriciofreitag