文字列の前後の空白を削除する

stripで文字列の前後の空白を削除しようとしたら、全角スペースが削除されなかった。

そこで、メソッドを自作することにした。

class String
  # 文字列前後の全角・半角スペースを削除
  def strip_with_full_size_space!
    self.gsub!(/^[ \s]*(.*?)[ \s]*$/, '\1')
  end
  
  # 文字列前後の全角・半角スペースを削除した文字列を返す
  def strip_with_full_size_space
    clone.strip_with_full_size_space!
  end
end

これで、全角・半角スペースにはもちろん、タブにも対応できた。


参考:
Ruby【全角空白も除去】できるstrip!()ありますか? s = " 全.. - 人力検索はてな
rubyで行頭や行末の全角スペースを除去する方法 - memo.yomukaku.net
正規表現の構文