Ruby - удалить шаблон из строки - PullRequest
24 голосов
/ 03 августа 2011

У меня есть строковый шаблон, который, например, выглядит следующим образом:

WBA - Skinny Joe vs. Hefty Hal

Я хочу обрезать шаблон «WBA -» из строки и вернуть просто «Тощий Джо против Здоровенного Хэла»».

Ответы [ 3 ]

39 голосов
/ 03 августа 2011

Предполагая, что точка "WBA" будет представлять собой последовательность любой буквы или цифры, за которой следует пробел, тире и пробел:

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

Кстати - RegexPal - отличный инструмент для тестирования подобных регулярных выражений.

10 голосов
/ 03 августа 2011

Если вам нужна более сложная замена строки, вы можете написать более сложное регулярное выражение. Otherise:

Будьте проще! Если вам нужно только удалить "WBA - " из начала строки, используйте String#sub.

s = "WBA - Skinny Joe vs. Hefty Hal"
puts s.sub(/^WBA - /, '')
# => Skinny Joe vs. Hefty Hal
5 голосов
/ 04 августа 2015

Вы также можете удалить первое вхождение шаблона со следующим фрагментом:

s[/^WBA - /] = ''
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...