【Ruby3.x】String::delete_suffix!()メソッドの使い方
delete_suffix!メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
delete_suffix!メソッドは、RubyのStringクラスに属し、文字列の末尾から指定されたサフィックス(接尾辞)を削除するメソッドです。このメソッドは、メソッド名の末尾に「!」が付いていることからもわかるように、呼び出し元の文字列オブジェクト自身を直接変更する(破壊的な変更を行う)点が大きな特徴です。
具体的には、対象の文字列の末尾が引数として指定されたサフィックスと完全に一致した場合、その一致するサフィックス部分を取り除き、変更後の文字列オブジェクト(つまり、自身)を返します。例えば、「example.txt」という文字列に対して「.txt」をサフィックスとして指定すると、文字列は「example」に変更され、メソッドは「example」を返します。
一方で、もし対象の文字列の末尾が指定されたサフィックスと一致しなかった場合、文字列は何も変更されません。この場合、delete_suffix!メソッドは変更が行われなかったことを示すために、特殊な値であるnilを返します。したがって、このメソッドの戻り値を確認することで、実際に文字列が変更されたかどうかを判断することができます。
ファイル名から拡張子を削除したり、特定のパターンで終わる文字列の末尾部分を効率的に取り除いたりするなど、元の文字列データを直接更新したい場合に非常に役立ちます。ただし、破壊的な変更を伴うため、元の文字列を保持したまま、変更後の新しい文字列が欲しい場合は、元の文字列を変更しないdelete_suffixメソッドを使用することを検討してください。
構文(syntax)
1string = "RubyLang" 2string.delete_suffix!("Lang")
引数(parameters)
suffix
- suffix: 文字列の末尾から削除したい文字列を指定します
戻り値(return)
String または nil
指定された文字列の末尾が指定されたサフィックスと一致する場合、そのサフィックスを削除した文字列を返します。一致しない場合は nil を返します。