【发布时间】:2011-08-03 00:16:43
【问题描述】:
我有一个字符串模式,例如,如下所示:
WBA - Skinny Joe vs. Hefty Hal
我想从字符串中截断模式“WBA -”并只返回“Skinny Joe vs. Hefty Hal”。
【问题讨论】:
-
任何字母和数字的组合都可以放在“-”之前。
我有一个字符串模式,例如,如下所示:
WBA - Skinny Joe vs. Hefty Hal
我想从字符串中截断模式“WBA -”并只返回“Skinny Joe vs. Hefty Hal”。
【问题讨论】:
假设“WBA”点是任意字母或数字的序列,后跟空格、破折号和空格:
str = "WBA - Skinny Joe vs. Hefty Hal"
str.sub /^\w+\s-\s/, ''
顺便说一句——RegexPal 是测试此类正则表达式的好工具。
【讨论】:
如果您需要更复杂的字符串替换,可以考虑编写更复杂的正则表达式。其他:
保持简单!如果您只需要从字符串的开头删除"WBA - ",请使用String#sub。
s = "WBA - Skinny Joe vs. Hefty Hal"
puts s.sub(/^WBA - /, '')
# => Skinny Joe vs. Hefty Hal
【讨论】:
gsub。
您还可以使用以下 sn-p 删除模式的第一次出现:
s[/^WBA - /] = ''
【讨论】: