#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿