Ruby - удалить шаблон из строки
У меня есть строковый шаблон, который в качестве примера выглядит следующим образом:
WBA - Skinny Joe vs. Hefty Hal
Я хочу усечь шаблон "WBA -" из строки и вернуть только "Skinny Joe vs. Hefty Hal".
Ответы
Ответ 1
Предполагая, что пятно "WBA" будет последовательностью любой буквы или числа, за которым следует пробел, тире и пробел:
str = "WBA - Skinny Joe vs. Hefty Hal"
str.sub /^\w+\s-\s/, ''
Кстати, RegexPal - отличный инструмент для тестирования регулярных выражений, подобных этим.
Ответ 2
Если вам нужна более сложная замена строки, вы можете изучить более сложное регулярное выражение. Otherise:
Держите это просто! Если вам нужно удалить "WBA - "
с начала строки, используйте String#sub
.
s = "WBA - Skinny Joe vs. Hefty Hal"
puts s.sub(/^WBA - /, '')
# => Skinny Joe vs. Hefty Hal
Ответ 3
Вы также можете удалить первое вхождение шаблона со следующим фрагментом:
s[/^WBA - /] = ''