🦷

[Rails] 文字列の先頭と末尾にあるスペース(空白)を全角半角問わず除去する

2022/09/28に公開

概要

文字列の先頭と末尾のスペース(空白)を除去したい。
String#strip では半角スペースしか対応していないため、全角スペースにも対応したい。

やり方

以下のモンキーパッチで対応する。

# config/initializers/extensions.rb

require 'ext/string'
# lib/ext/string.rb

class String
  # 文字列先頭と末尾の全角含む空白文字を取り除いた文字列
  # @return [String]
  def strip_2byte
    self_clone = dup
    self_clone.gsub!(/(^[[:space:]]+)|([[:space:]]+$)/, '')
    self_clone
  end
end

使い方

[1] pry(main)> " aaaaaaa aaaaa        ".strip_2byte
=> "aaaaaaa aaaaa"

Discussion