文字列を指定文字数で分割する
調べるといろいろな分割方法が見つかるが、これだけは見つからなかったので記録。
環境
方法
String#unpack を使います。
2文字ずつ分割する場合
s = "abcdefghijklmn" => "abcdefghijklmn" s.length => 14 s.unpack("a2"*(s.length/2)) => ["ab", "cd", "ef", "gh", "ij", "kl", "mn"]
3文字ずつ分割する場合
s2 = "abcdefghijklmno" => "abcdefghijklmno" s.length => 15 s2.unpack("a3"*(s2.length/3)) => ["abc", "def", "ghi", "jkl", "mno"]
ポイント
- 最終文字が抜け落ちる可能性があるため、分割数の奇偶に気をつける必要があります