web-dev-qa-db-ja.com

Ruby-文字列からパターンを削除

例として、次のような文字列パターンがあります。

WBA - Skinny Joe vs. Hefty Hal

文字列からパターン「WBA-」を切り捨てて、「Skinny Joe vs. Hefty Hal」だけを返します。

25
keruilin

「WBA」スポットは、任意の文字または数字のシーケンスであり、その後にスペース、ダッシュ、スペースが続くと仮定します。

str = "WBA - Skinny Joe vs. Hefty Hal"
str.sub /^\w+\s-\s/, ''

ちなみに- RegexPal は、このような正規表現をテストするための優れたツールです。

40
Jon Gauthier

より複雑な文字列置換が必要な場合は、より洗練された正規表現の記述を検討できます。その他:

Keep it simple!文字列の先頭から"WBA - "のみを削除する必要がある場合は、String#subを使用します。

s = "WBA - Skinny Joe vs. Hefty Hal"
puts s.sub(/^WBA - /, '')
# => Skinny Joe vs. Hefty Hal
11
maček

次のスニペットを使用して、パターンの最初の出現を削除することもできます。

s[/^WBA - /] = ''
5
kyku