У меня проблемы с преобразованием следующей строки из PHP в Ruby:
strtolower(preg_replace(array('/[^a-zA-Z0-9 -]/', '/[ -]+/', '/^-|-$/'), array('', '-', ''), trim($str)));
Возможно ли сделать это в одну строку, как здесь?
str.strip.gsub(/[^a-zA-Z0-9 -]/, '').gsub(/[ -]+/, '-').gsub(/^-|-$/, '').downcase
может быть дополнительно упрощено до:
str.strip.gsub(/[ -]+/, '-').gsub(/[^a-z \d-]|^-|-$/i, '').downcase