【Ruby入門】splitで文字列を分割しよう!

こんにちは!システムエンジニアのオオイシです。

プログラミングをしていると、文字列を分割して取得したい場合があります。

そんなときRubyではsplitメソッドを使うのが便利です!

この記事では、

  • splitメソッドとは
  • splitメソッドの使い方

という基本的な使い方から、

  • 分割数を制限する方法

などの応用的な使い方についても解説していきます。

splitメソッドは便利な上に使い勝手もいいのでぜひ今のうちにマスターしてしまいましょう。

splitメソッドとは

splitメソッドとは簡単に言うと文字列を分割して配列にするためのメソッドです。

ある特定な文字列を、分割したいところで決まったアクションを入れてあげると、様々な方法で分割してくれるというものになります。

splitメソッドは第1引数に区切り文字を指定できますが、引数を指定しない場合は空白文字で区切られます

空白文字として扱われるのは、” “(半角スペース)”\n”(改行コード)”\t”(タブ)などです。

splitメソッドの基本的な使い方

では、実際にsplitメソッドを使って分割してみましょう。

まずは、何も引数を指定しなかった場合(空白)の挙動からみていきましょう。

何も指定せずに分割する(デフォルト)

ではまず、プログラムから見ていきましょう。

サンプルプログラム:

実行結果:

半角スペースで区切られて配列が返却されたことを確認できました。

実行結果で注目したいのは、”3”と”4”の間は半角スペースが2つ存在しますが、配列の要素に ””(ブランク文字)が含まれることなく配列が作成されている点です。

つまり、次のサンプルプログラムは同じ結果が返されます。

実行結果:

このように、引数なしのsplitメソッドは、空白文字(” “(半角スペース)”\n”(改行コード)”\t”(タブ)など)で分割されることが確認できました。

区切り文字を指定して分割する方法

splitメソッドで任意の文字で分割するには、第1引数で指定します。

 

サンプルプログラム:

実行結果:

分割する区切り文字は文字列も指定できます

次のサンプルプログラムで確認してみましょう。

実行結果:

このように、指定した区切り文字で分割することが確認できました。

splitの応用的な使い方

正規表現で分割する方法

正規表現にマッチする部分で分割することもできます。

 

”,”(カンマ) または “.”(コロン)で正規表現で区切る例を、次のプログラムで確認してみましょう。

実行結果:

このように、正規表現にマッチする部分で分割することが確認できました。

正規表現の基礎については、こちらの記事で詳しく解説しているので、ぜひ確認してみてください。

理解しづらいRubyの正規表現とは?〜基礎の基礎を知ろう〜
更新日 : 2019年4月2日

1文字ずつ分割する方法

文字列を1文字ずつ分割するには、区切り文字に“”(ブランク)を指定します。

 

次のプログラムで確認してみましょう。

実行結果:

このように、文字列を1文字ずつ分割できることが確認できました。

分割数を制限する方法(第2引数の”limit”)

splitメソッドは分割数を指定することができます。

分割数を指定することで、分割した後の配列の要素数を指定することができます。

分割数はsplitメソッドの第2引数で指定します。

分割数が文字列に含まれる区切り文字より少ない場合は、文字列の前方を優先して分割します。

次のプログラムで確認してみましょう。

実行結果:

このように、返却された配列の要素数が2つで分割されたことが確認できました。

もう一つみておきましょう。

4つで分割すると、前方から優先して分割されるので、

はい、こうなりますね。

まとめ

今回はStringクラスのsplitメソッドの使い方について説明しました。

splitメソッドは文字列を分割して配列にする場合に使用します。

文字列を分割して処理するケースは実際の開発現場においてもよく使うのでぜひ活用してみください。

もし、splitメソッドの使い方を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

オオイシ

オオイシ

システムエンジニア歴15年のオオイシです!好物は Java と Ruby。プログラミング、システムアーキテクトからマネジメントに到るまでなんでも食べます。
システム開発の相談やお困りごとがあればお気軽に
[email protected] まで連絡頂けると幸いです

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説