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でString(文字列)を扱う方法や便利なメソッドについて解説しました。

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

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

Rubyカリキュラム無料公開中!

この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。

【Ruby入門ガイド】アプリ開発で知っておくべき知識を総ざらい
更新日 : 2018年11月23日

Rubyを最短で習得したい方へ

近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a2
LINEで送る
Pocket

書いた人

佐野裕史

佐野裕史

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

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

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

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

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

おすすめコンテンツ

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

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