[Ruby]文字列(string)を文字数で分割するには?

Ruby

どうも、ちょげ(@chogetarou)です。

文字列(string)を文字数で分割した配列(array)に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)を文字数で分割した配列(array)に変換するには、scanメソッドを使います。

まず、文字列からscanメソッドを呼び出します。

そして、scanメソッドの引数に「/.{n}/」(n=文字数)を指定します。

#text=対象の文字列, n=文字数
result = text.scan(/.{n}/)

上記のscanメソッドは、呼び出した文字列(string)を指定した文字数で分割した配列を生成します。

上記のscanメソッドでは、文字数が足りず、余った末尾の文字列が省力されます。

もし、文字数の余りを省略したくない場合は、scanメソッドの引数に「/.{1,n}/」(n=文字数)を指定します。

#余った文字列を省略しない
result = text.scan(/.{1,3}/)

使用例

使用例1

text = "abcdefghijklmno"

result = text.scan(/.{3}/)

p result
出力:
["abc", "def", "ghi", "jkl", "mno"]

使用例2

text = "abcdefghijklmn"

result = text.scan(/.{1,3}/)

p result
出力:
["abc", "def", "ghi", "jkl", "mn"]

コメント

タイトルとURLをコピーしました