Сделайте один вызов gsub вместо пяти - PullRequest
4 голосов
/ 05 января 2010

Как я могу заменить это:

lyrics = lyrics.gsub(/\n/,'').gsub(/^\{\"similar\": \[/, '').gsub(/\]\}$/, '').gsub(/^\{/, '').gsub(/\}$/, '')

на что-то короче и один вызов gsub?

1 Ответ

9 голосов
/ 05 января 2010

Вы можете объединить несколько регулярных выражений в одно, используя альтернативный символ | и создавая ветви в регулярном выражении.Обратите внимание на такие якоря, как ^, $ и другие, потому что, если они появляются в одной ветви, они работают только для этой ветви, а не для целого регулярного выражения

lyrics = lyrics.gsub(/\n|^\{\"similar\": \[|\]\}$|^\{|\}$/, '')
...