#8 Rubyで学ぶ文字列操作の基本

Rubyの文字列操作は、Pythonのf文字列に似た、読みやすい埋め込みの書き方が特徴です。この記事では、Rubyにおける文字列操作の基本を解説します。

式展開という便利な書き方

Rubyには「式展開」という、`#{}`で変数を埋め込める書き方があります。

greeting = "こんにちは、#{name}さん"

ダブルクォート(")で囲んだ文字列の中でのみ使える点に注意しましょう。シングルクォート(')で囲むと、`#{}`はそのまま文字として表示されてしまいます。`#{}`の中には変数だけでなく、計算式やメソッド呼び出しも書けます。

"合計は#{price * quantity}円です"

よく使う文字列操作

  • name.length 文字数を調べる
  • name.upcase 大文字に変換する
  • name.gsub("A", "B") 文字を置き換える(全て置換)
  • name.sub("A", "B") 文字を置き換える(最初の1つだけ)
  • name.split(",") 指定した記号で分割する
  • name.strip 前後の空白を取り除く

複数行の文字列

改行を含む長い文字列を書きたい場合は、ヒアドキュメントという書き方が便利です。

message = <<~TEXT こんにちは。 ご利用ありがとうございます。 TEXT

`<<~`(波ダッシュ付き)を使うと、インデント(字下げ)を自動で取り除いてくれるため、コードの見た目を崩さずに読みやすい文字列を書けます。

Rubyならではの注意点

ダブルクォートとシングルクォートで囲んだ文字列は、見た目は似ていますが、式展開が使えるかどうかという大きな違いがあります。変数を埋め込みたい場合は、必ずダブルクォートを使うようにしましょう。また、`gsub`と`sub`のように「全て置換」と「最初だけ置換」でメソッド名が明確に分かれているのもRubyらしい設計で、同様のペアは`gsub!`(破壊的メソッド、元の文字列自体を変更する)のように末尾の`!`でも区別されています。

まとめ

Rubyの文字列操作は`#{}`による式展開が便利ですが、ダブルクォートの中でしか使えない点に注意が必要です。`upcase`・`gsub`・`split`といった基本操作、複数行を書くヒアドキュメントもあわせて覚えておきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Rubyをもっと学びたい方には「プロを目指す人のためのRuby入門[改訂2版]」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本