简体   繁体   中英

Ruby - remove pattern from string

I have a string pattern that, as an example, looks like this:

WBA - Skinny Joe vs. Hefty Hal

I want to truncate the pattern "WBA - " from the string and return just "Skinny Joe vs. Hefty Hal".

Assuming that the "WBA" spot will be a sequence of any letter or number, followed by a space, dash, and space:

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

By the way — RegexPal is a great tool for testing regular expressions like these.

If you need a more complex string replacement, you can look into writing a more sophisticated regular expression. Otherise:

Keep it simple! If you only need to remove "WBA - " from the beginning of the string, use String#sub .

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

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

s[/^WBA - /] = ''

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM