7/29~ プチ断食日記をスタート! 毎日更新中!

【Ruby】文字列を任意の文字数で分割する方法

ruby

こんにちは。たなかです。

Rubyでバッチ処理を作成していて、「文字列を2文字ずつ分割して配列化したいな」というシチュエーションに遭遇しました。

文字列を任意の文字数で分割する方法

やりたいこと

"143000"

 

上記のような文字列を……

 

["14", "30", "00"]

 

のように2文字ずつに変換したいです。

解決方法

以下のように記述します。

 

a = "143000"

a.scan(/.{1,#{2}}/)

 

上記のようにscanメソッドを利用してやると、2文字ずつの配列に変換することができました!

「2」の部分を変更することで、「何文字ずつ区切るか」を指定することができます。

もうちょっと詳しく

 

正規表現では「.」が改行を除く任意の1文字 として扱います。

 

{}の中でそれを何回繰り返すか を指定しています。

 

今回は1回以上最大2回のため

.{1,#{2}}

といった書き方になりました。難しいですね正規表現。

まとめ

ruby

今回は「文字列を任意の文字数で分割する方法」についてでした。

こういう「やりたいことは分かっているけど、メソッドや書き方がわからない!」みたいな時って調べる単語めっちゃ重要ですよね。

 

今回は「Ruby 文字列 分割 文字数」みたいなキーワードで調査したため、比較的早くやりたいことにたどり着けましたが、言葉が全然出てこないときがままあります……。

上手に検索するのもエンジニアのスキルかと思うので、目標に対する言語化みたいなところも育てていく必要ありですね。

短いですが、今回はここまで。

参考サイト

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です