Rubyの文字列で使えるメソッド・使い方総まとめ

Rubyではさまざまなメソッドを使用して文字列(String)の操作が可能です。

「RubyのString(文字列)の使い方を知りたい」
「文字列の分割、検索、変換、置換、抽出、削除などを行いたい」

そんな方に向けて、この記事では文字列の使い方から基本的な操作方法について、解説していきます。

文字列の定義や使い方
文字列を比較する
文字列を分割する
文字列を検索・調査する
文字列を変換・置換する
文字列の長さを調べる
文字列の連結・作成・追加
文字列の抽出・削除
文字列の繰り返し

この記事では文字列の基本から文字列で使えるさまざまなメソッドやその使い方について、まとめましたのでぜひ参考にしてください!

この記事の目次

文字列の定義

RubyのStringクラスは文字列を表すオブジェクトです。

Rubyで文字列を定置する方法は簡単です。

基本的には変数を定義してイコール(=)で指定した文字列を代入すればOKです。

文字列の指定はダブルクオーテーション(“”)で文字列を囲って定義する必要があります。

実際に文字列の定義方法を見てみましょう

このプログラムを実行すると、以下のように出力されます。

次項からはそんなRubyの文字列について、さまざまな文字列操作のメソッドを紹介します!

比較

==(同じ文字列かどうか調べる)

文字列と文字列を比較するには「==」を使用します。

<, <=, >, >=(文字列の順番の比較)

文字列を辞書的な順番で比較します。

<=>(文字列の順番の比較)

casecmp(大文字小文字を区別しない比較)

比較の結果は「<=>」メソッドと同じ。

分割

split(文字列の分割)

文字列を分割して取得したい場合はsplitメソッドを使用します。

以下のサンプルではカンマ(,)区切りで文字列を取得しています。

partition(部分文字列で2つに分割)

指定した部分文字列で分割したい場合はpartitionメソッドを使用します。

rpartition(末尾から部分文字列で2つに分割)

指定した部分文字列で文字列の末尾から分割したい場合はrpartitionメソッドをを使用します。

検索、調査

empty?(空文字列か調べる)

指定した文字列が空文字列かどうか調べたい場合はempty?メソッドを使用します。

start_with?(指定の文字列で始まっているか調べる)

end_with?(指定の文字列で終わっているか調べる)

include?(部分文字列が含まれているか調べる)

index(部分文字列の位置を調べる)

部分文字列が含まれていれば、開始位置のインデックスを整数で返す

rindex(末尾から部分文字列の位置を調べる)

変換、置換

reverse, reverse!(文字列の反転)

指定した文字列を反転して取得したい場合はreverseまたはreverse!メソッドを使用します。

capitalize, capitalize!(最初の文字を大文字にする)

最初の文字を大文字に、最初の文字以外は小文字にします。

swapcase, swapcase!(小文字を大文字に、大文字を小文字に変換)

replace(文字列を変更する)

指定した文字列でレシーバ自身を変更する。

downcase, downcase!(大文字を小文字にする)

upcase, upcase!(小文字を大文字にする)

squeeze, squeeze!(同じ文字の繰り返しを1つにまとめる)

tr, tr!(特定の文字を置換)

tr_s, tr_s!(特定の文字を置換して1つにまとめる)

長さ

size(文字数(バイト数)を返す)

length(文字数(バイト数)を返す)

count(文字列中の特定の文字を数える)

連結、作成、追加

+(文字列の連結)

%(書式付き文字列の作成)

*(繰り返し文字列の作成)

<<(文字列の追加)

succ, succ!(「次の文字列」を作る)

next, next!(「次の文字列」を作る)

succの別名。

insert(指定の位置に文字列を挿入)

抽出、削除

chomp, chomp!(末尾の改行を取り除く)

chop, chop!(末尾の文字を取り除く)

delete, delete!(文字列中の特定の文字を削除)

lstrip, lstrip!(先頭の空白を取り除く)

rstrip, rstrip!(末尾の空白を取り除く)

strip, strip!(先頭と末尾の空白を取り除く)

slice(部分文字列の取り出し)

slice!(部分文字列の削除)

chars(1文字ずつ取り出すRuby 1.8.7)

chr(最初の文字を取り出すRuby 1.9)

clear(文字列を空にするRuby 1.9)

繰り返し

each_line(1行ずつ取り出す)

文字列を改行文字で分割して1行ずつ取り出す。

lines(1行ずつ取り出す)

upto(指定の文字列まで「次の文字列」を繰り返す)

その他

center(中央寄せ)

rjust(右寄せ)

ljust(左寄せ)

encoding(文字コード情報を得るRuby 1.9)

sum(チェックサムの値を返す)

文字列の各バイトの整数を合計し、下位ビットを取り出す。

ord(最初の文字のコードポイントを返す)

Rubyを独学で頑張っているけど先が見えない方のために

いや、おれは違うぞ。先のキャリアもしっかり見えてるし、独学の成果も出てきている

そんな方であれば、これから先の話は必要ないでしょう。そっとページの閉じるボタンを押しましょう。

しかし、「先が見えない」と心の底では勘付いているそこの奥さん。この先を読み進めて、一緒に課題を深堀りしていきましょう。

なぜ「先が見えない」という不安や悩みを抱えてしまうのか

さて、「一寸先は闇だ・・・」とお悩みを抱えている方に、なぜ独学でRubyを勉強しているにもかかわらず、そのような現状を抱えてしまうのか、一緒に考えていきましょう。

先が見えない現状を踏まえ、課題として考えられるものは以下のどれかに該当するでしょう。

  • プログラミングの上達が見えない
  • プログラミングを継続できない気がする
  • プログラミングスキルを習得した姿がイメージできない
  • プログラミングスキルを活かした仕事を獲得するイメージができない

これらのどれかに該当することによって、「なんとなくプログラミング学習をしている」という状態になってしまいます。

これらの要因は、三日坊主になる理論と同じなんですが、「プログラミング学習をしなきゃ」とプログラミング学習を頑張ってしまっている状態になってしまっています。

受験勉強をやった経験のある方なら頭がもげるほどに首を縦に振ってしまう方も多いのですが、「今日も5時間勉強するぞ」や「今日はこの章を終わらすぞ」というように、学習を進めることに意識が行き過ぎてしまうと、ある程度学習を継続した後に「先が見えない・・・」となってしまいます。

未来に光を当て、プログラミング学習を「成果が出るもの」にするために

先ほど、「なぜ先が見えないという悩みや不安を抱えてしまうのか」という疑問に対しての答えを示していきました。

これらの課題というのは、独学をしていれば9割の方がぶつかってしまう壁だそうで、いわば、あるあるの現象なのです。

独学をしていて、「なんか前に進めていないぞ」と感じるのはこのせいなんですね。甘く見がちですが、非常にやっかい。

これがさらにやっかいさを極めているのは、上記に挙げた課題のほとんどが、1人で解決できないものばかりだからです。

実は、これらのほとんどが経験者に助けてもらいながら解決しないと、すぐに違う方向へと流れてしまいます。

そう言い切れるのは、以前の私もそうだったからです。

エンジニアやプログラマー関連のキャリアに詳しい方や現役のエンジニアに相談しながら修正を加え、学習を実践して今があります。

そうは言っても、周りにそういう人がいないし・・・

という方もいるでしょう。そういう時にこそ、プログラミングスクールの無料体験レッスンを利用するのです。

営業をかけられて時間の無駄に終わるでしょ?

という考えに辿りついてしまいますよね。結論から言うと弊社では、そういった強引な営業等を行うことはありませんので、安心して受講できます。

「プログラミング学習の先ある未来」を光で明るく照らすには、弊社の無料体験レッスンがぴったりだと断言できます。それくらい無料体験レッスンに自信を持っているのです。

さらに、無料体験レッスンには以下の3大特典もついてきます!

  • 「最短1ヶ月で開発ができる学習方法」電子書籍(非売品)
  • 効率的なオリジナル学習カリキュラム
  • 未経験の転職(フリーランス)を可能にするキャリアサポート

上記の特典だけでも他のスクールにはないポイントだと自信を持っている無料体験レッスン特典です。

ただプログラミング学習をする毎日から、ワクワクしながらプログラミング学習できる毎日に変える体験を一度でいいのでしてみませんか?

無料体験レッスン予約はこちら

まとめ

ここでは、RubyでString(文字列)を扱う方法や便利なメソッドについて解説しました。

文字列の操作はプログラミングにおいて、最も基本的な処理の1つとなりますので、使い方についてはしっかりと理解しておきましょう。

もし、文字列の操作方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

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

cta_under_bnr

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

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

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

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

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。

おすすめコンテンツ

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

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