простое регулярное выражение - заменить подчеркивание пробелом - PullRequest
23 голосов
/ 29 августа 2009

Привет, я пишу свое первое приложение на Rails и пытаюсь заменить подчеркивание формы входящего идентификатора на пробелы, например:

до : test_string

после : тестовая строка

Как я могу это сделать? Извините, если это немного глупый вопрос, я не очень знаком с регулярными выражениями ...

Ответы [ 4 ]

34 голосов
/ 29 августа 2009
str.gsub!(/_/, ' ')

gsub означает «глобальное замещение», и восклицательный знак означает, что он изменит саму строку, а не просто вернет замещенную строку.

Вы также можете сделать это без регулярных выражений, используя String#tr!:

str.tr!('_', ' ')
26 голосов
/ 25 апреля 2012

На рельсах вы можете использовать более простой метод .humanize и метод ruby's .downcase, но будьте осторожны, поскольку он также удаляет любую окончательную строку '_id' (в большинстве случаев это только то, что вам нужно, даже заглавная буква)

'text_string_id'.humanize.downcase
 => "text string" 
9 голосов
/ 29 августа 2009

Ой, у меня фактически это работало - просто забыл обновить имя переменной: P

Я использовал это:

@id = params[:id]
@title = @id.gsub("_", " ")
0 голосов
/ 18 января 2017

Использование split и join в рельсах

"test_string" .split ('_'). Join ('')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...