URL に連結するために、バンド名の最初の "The" とスペースを削除しています。私はこれを持っていますが、それは醜いので、1つの式に統合したいと考えています。
@artist.sub!(/[Tt]he/, '')
@artist.gsub!(/\s+/, '')
試す:
@artist.gsub!(/(\A[Tt]he)|(\s+)/, '')
#sub
もちろん、 と#gsub
式をチェーンすることもできます。例えば、
@artist = @artist.sub(/^[Tt]he/, '').gsub(/\s+/, '')
これ以上コンパクトになると、私はそれをエレガントと呼ぶのを躊躇します。
#sub
andの#gsub
代わりに#sub!
andを使用していることに注意してください#gsub!
。@pguardiario のコメントによると、一致するものがない場合、2 番目の 2 つは nil を返し、NoMethodError
例外が発生します。また、これには、文字列の途中から「The」が削除されるのを防ぐためのアンカーがあることに注意してください。
URL で使用するスラッグを作成しようとしている場合は、ライブラリ内のメソッドを使用することをお勧めします。
私は一緒に行きます:
@artist = @artist.sub(/\Athe\b/i, '').strip