Ruby - 从字符串中删除模式

时间:2011-08-03 00:16:43

标签: ruby regex string

我有一个字符串模式,例如,看起来像这样:

WBA - Skinny Joe vs. Hefty Hal

我想从字符串中截断模式“WBA - ”并返回“Skinny Joe vs. Hefty Hal”。

3 个答案:

答案 0 :(得分:39)

假设“WBA”点将是任何字母或数字的序列,后跟空格,短划线和空格:

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

顺便说一下 - RegexPal是测试这些正则表达式的绝佳工具。

答案 1 :(得分:10)

如果需要更复杂的字符串替换,可以考虑编写更复杂的正则表达式。 Otherise:

保持简单!如果您只需要从字符串的开头删除"WBA - ",请使用String#sub

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

答案 2 :(得分:5)

您还可以使用以下代码段删除第一次出现的模式:

s[/^WBA - /] = ''