Ruby【全角空白も除去】できるstrip!()ありますか?


s = "  全角空白を除去したい  "
s.strip!
p s
#=> "全角空白を除去したい"

↑を実現するにはどうすれば良いのでしょうか?


↓NG
全角スペース対応版strip - Lazy Technology
http://d.hatena.ne.jp/trench/20080201/1201848502

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/12/31 12:31:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rubikitch No.1

回答回数120ベストアンサー獲得回数22

ポイント100pt
# -*- coding: euc-jp -*-
class String
  def strip_with_full_size_space!
    s = " \s\v"
    sub!(/^[#{s}]*([^#{s}]+)[#{s}]*$/o, '\1')
  end
  def strip_with_full_size_space
    clone.strip_with_full_size_space!
  end
end

"   全半混在   ".strip_with_full_size_space  # => "全半混在"
" 全半混在 ".strip_with_full_size_space        # => "全半混在"
" 全半混在".strip_with_full_size_space         # => "全半混在"
"全半混在 ".strip_with_full_size_space          # => "全半混在"
"全半混在".strip_with_full_size_space           # => "全半混在"

s = " 全角空白を除去したい "
s.strip_with_full_size_space!
s                                               # => "全角空白を除去したい"
id:nannde

rubikitchさま!

完璧です!ありがとうございましたm(_ _)m

2009/12/31 12:28:25

その他の回答1件)

id:rubikitch No.1

回答回数120ベストアンサー獲得回数22ここでベストアンサー

ポイント100pt
# -*- coding: euc-jp -*-
class String
  def strip_with_full_size_space!
    s = " \s\v"
    sub!(/^[#{s}]*([^#{s}]+)[#{s}]*$/o, '\1')
  end
  def strip_with_full_size_space
    clone.strip_with_full_size_space!
  end
end

"   全半混在   ".strip_with_full_size_space  # => "全半混在"
" 全半混在 ".strip_with_full_size_space        # => "全半混在"
" 全半混在".strip_with_full_size_space         # => "全半混在"
"全半混在 ".strip_with_full_size_space          # => "全半混在"
"全半混在".strip_with_full_size_space           # => "全半混在"

s = " 全角空白を除去したい "
s.strip_with_full_size_space!
s                                               # => "全角空白を除去したい"
id:nannde

rubikitchさま!

完璧です!ありがとうございましたm(_ _)m

2009/12/31 12:28:25
id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301

ポイント10pt

一例

s = "    全 半   混  在 "
p s.gsub!(/(^(\s| )+)|((\s| )+$)/, '')
id:nannde

kn1967さま

一例ありがとうございます。

rubikitchさまの回答を見越しての技!

と感じました(^^)

ありがとうございました。

2009/12/31 12:30:12

この質問への反応(ブックマークコメント)

トラックバック

  • 全角空白も含めた strip >|ruby| ”    全 半 ¥n  混  在 ”.gsub(/(¥A(¥s|¥u3000)+)|((¥s|¥u3000)+¥Z)/, ’’) # => ”全 半 ¥n  混  在” ||< 参考 Ruby【全角空白も除去】できるstrip!(
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません