Ruby - 从字符串中删除模式

ker*_*lin 24 ruby regex string

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

WBA - Skinny Joe vs. Hefty Hal
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*ier 39

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

str = "WBA - Skinny Joe vs. Hefty Hal"
str.sub /^\w+\s-\s/, ''
Run Code Online (Sandbox Code Playgroud)

顺便说一句 - RegexPal是一个很好的工具,用于测试这些正则表达式.


mač*_*ček 11

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

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

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


kyk*_*yku 5

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

s[/^WBA - /] = ''
Run Code Online (Sandbox Code Playgroud)