Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】String::squeeze!()メソッドの使い方

squeeze!メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

squeeze!メソッドは、文字列内で連続して並ぶ同じ文字を1つに絞り込む(重複をなくす)操作を実行するメソッドです。このメソッドは、レシーバである元の文字列の内容を直接変更する破壊的なメソッドであるため、メソッド名の末尾に「!」がついています。

引数を指定しない場合、文字列内のすべての種類の連続する重複文字に対してこの絞り込み操作が適用されます。例えば、「foooobar」のような文字列にsqueeze!を適用すると、「foobar」となります。

引数として文字列、文字の範囲(例: "a-z")、または正規表現パターンを指定することも可能です。この場合、指定された文字セットに含まれる文字や、正規表現にマッチする文字の連続する重複に対してのみ絞り込みが適用されます。例えば、「foooobar」に対してsqueeze!("o")を実行すると、「foobar」となり、「fiiish」に対してsqueeze!("i")を実行すると、「fish」となります。

文字列に何も変更が加えられなかった場合はnilを返し、変更が加えられた場合はレシーバ自身(変更後の文字列)を返します。元の文字列を変更せずに、絞り込み後の新しい文字列を得たい場合は、破壊的ではないsqueezeメソッドを使用します。

構文(syntax)

1target_string = "Heelloo   Worlldd"
2target_string.squeeze!

引数(parameters)

chars = nil

  • chars = nil: 削除する文字の集合を指定します。指定しない場合は、連続する同じ文字をすべて削除します。

戻り値(return)

self または nil

String#squeeze! は、文字列から連続する重複文字を削除します。重複が削除された場合は変更後の self を返しますが、重複がなかった場合は nil を返します。

関連コンテンツ

関連プログラミング言語