Как преобразовать эту строку из PHP в Ruby? - PullRequest
0 голосов
/ 12 ноября 2011

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

strtolower(preg_replace(array('/[^a-zA-Z0-9 -]/', '/[ -]+/', '/^-|-$/'), array('', '-', ''), trim($str)));

Возможно ли сделать это в одну строку, как здесь?

1 Ответ

2 голосов
/ 12 ноября 2011
str.strip.gsub(/[^a-zA-Z0-9 -]/, '').gsub(/[ -]+/, '-').gsub(/^-|-$/, '').downcase

может быть дополнительно упрощено до:

str.strip.gsub(/[ -]+/, '-').gsub(/[^a-z \d-]|^-|-$/i, '').downcase
...