instance method String#strip!

strip!(*selectors) -> self | nil[permalink][rdoc][edit]

先頭と末尾の空白文字を全て破壊的に取り除きます。空白文字の定義は " \t\r\n\f\v\0" です。

strip! は、内容を変更した self を返します。ただし取り除く空白がなかったときは nil を返します。

selectors を与えた場合、空白文字として selectors で指定された文字を取り除きます。

selectors の形式は tr(1) と同じです。つまり、「"a-c"」は文字 a から c を意味し、「"^0-9"」のように文字列の先頭が「^」の場合は指定文字以外を意味します。

文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。また、「-」「^」「\」はバックスラッシュ (「\」) によりエスケープできます。

引数を複数指定した場合は、すべての引数にマッチした文字だけを数えます。

[PARAM] selectors:
取り除く文字。


str = "  abc\r\n"
p str.strip!     #=> "abc"
p str            #=> "abc"

str = "abc"
p str.strip!     #=> nil
p str            #=> "abc"

str = "  \0  abc  \0"
str.strip!
p str            #=> "abc"
取り除く文字を指定

"---abc+++".strip!("-+") # => "abc"
"---abc+++".strip!("+-") # => "abc"
範囲、否定、複数の指定

"01234abc56789".strip!("0-9") # "abc"
"01234abc56789".strip!("0-9", "^4-6") # "4abc56"

[SEE_ALSO] String#strip, String#lstrip