如何将这一行从PHP转换成Ruby?

如何将这一行从PHP转换成Ruby?,php,ruby-on-rails,ruby,Php,Ruby On Rails,Ruby,我无法将以下行从PHP转换为Ruby: strtolower(preg_replace(array('/[^a-zA-Z0-9 -]/', '/[ -]+/', '/^-|-$/'), array('', '-', ''), trim($str))); 有没有可能像在这里一样在一条线上完成这项工作 str.strip.gsub(/[^a-zA-Z0-9 -]/, '').gsub(/[ -]+/, '-').gsub(/^-|-$/, '').downcase 可进一步简化为: str.st

我无法将以下行从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

你为什么要在一条线上做这样的事?您是否不关心将来使用此代码或其他人必须使用它?