Techioz Blog

Ruby (または Rails) で特定の先頭文字と末尾文字を削除するエレガントな方法はありますか? [重複]

概要

先頭または末尾にハイフンが含まれる文字列があります。それらを削除したいのですが。

私が最初に考えたのは、両端から 1 つ以上の空白文字を削除する「strip」に手を伸ばすことです。しかし、驚くべきことに、それ以外のものを削除することを拒否します。

[3] pry(main)> "-thi-ng-".strip "-"
ArgumentError: wrong number of arguments (given 1, expected 0)

Ruby または Rails にはこれを表現するエレガントな方法がありますか?

解決策

ルビー

>> "---thi-ng---".gsub(/^-+|-+$/, "")
=> "thi-ng"

レール

>> "---thi-ng---".remove(/^-+/, /-+$/)
=> "thi-ng"