ruby - Rails 3 + regex - 替换字符串的一部分,出现 1 次

标签 ruby regex ruby-on-rails-3

我是 Rails 的新手,也是正则表达式的新手。一直在四处寻找,但我被阻止了......

我有这样一个字符串:

当前:http://zs.domain.com/user_images/123456789/imageName_size.ext

通缉:http://zs.domain.com/user_images/123456789/imageName.ext

我已经做到了:
http://a0.twimg.com/profile/1240267050/logo1.png
=> 丢失所有匹配项

picture.gsub!(/_([a-z0-9-]+)/, '')

或者这个:

http://a0.twimg.com/profile_images/1240267050/logo1
=> 仅更改最后一次出现,但丢失扩展名

picture.gsub!(/_([a-z0-9-]+)**.(png|gif|jpg|jpeg)**/, '')  

最佳答案

你快到了。第二个参数是将替换匹配项的字符串,您可以重新使用匹配项中的匹配组。这将达到目的:

picture.gsub!(/_([a-z0-9-]+).(png|gif|jpg|jpeg)/, '.\2')

为了适应评论中提出的附加条件:

picture.gsub!(/_([^\/]+).(png|gif|jpg|jpeg)/, '.\2')

关于ruby - Rails 3 + regex - 替换字符串的一部分,出现 1 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5171290/

相关文章:

javascript - 获取 jQuery timeago 插件以识别新加载的 DOM 元素

ruby-on-rails - 文件更改后 My::Engine 中未初始化的常量

ruby - 为什么安装 RDOCS 和 RI 比实际的 gem 花费更长的时间?

使标记符合 XHTML 的 Javascript 或正则表达式解决方案

javascript - 关于正则表达式匹配js模板的问题

ruby-on-rails - 我正在使用 Rails Castomniauth 并收到此错误

ruby-on-rails - 用户在 Rails 中更新键/值集合的 View 和表单

ruby - 在 factorygirl 中设置实例变量

javascript - 使用 guard 将 javascript 文件缩小到不同的目录中

regex - 如何使用sed删除echo输出的一些行