ruby - 从 url 中获取参数并删除任何非字母字符和数字?

标签 ruby ruby-on-rails-3.2

我将获得以下任何格式的 url:

- ?M=Foo bar
- ?M=Foo%20bar
- ?M=%20Foo_bar
- ?M=Foo bar?
- ?M=F00_bar
- ?M=Foo#1bar_do

或单词、特殊字符和数字的任意组合。

我可以简单地使用

获取值
 params[:M]

问题:

但是,现在我想转换输出并将其存储到变量“m”中,例如:

 m = FooBar

1) 在这里,忽略所有其他字符((下划线)_、#1、空格、? 等)和数字,只使用字母。

2) 将结果组合成如下形式:

FooBar
FooBarDo

我不擅长正则表达式,所以我非常感谢任何帮助来解决这个问题

最佳答案

这是使用 scan 的一种方法

m = "Foo%20bar"
m.scan(/[A-Za-z]/).join #=> Foobar

m = "Foo#1bar_do"
m.scan(/[A-Za-z]/).join #=> Foobardo

m = "F00_bar"
m.scan(/[A-Za-z]/).join #=> Fbar

因此,在您的情况下,您将使用与此类似的东西:

params[:M].scan(/[A-Za-z]/).join

关于ruby - 从 url 中获取参数并删除任何非字母字符和数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19377404/

相关文章:

ruby-on-rails - 将支付网关(基于activemerchant)与 spree 集成

ruby-on-rails - Sass::SyntaxError undefined variable

ruby - compass 不会在图像名称后生成 Sprite

ruby-on-rails - 如何运行一个简单的 each-do 循环来组合来自不同表的列? (返回率)

c - 修改 Ruby 源 - 无法修改方法

ruby-on-rails - Mechanize 重定向/Nokogiri(菜鸟使用 Mechanize )

jquery - 如何使用 Rails 和 jQuery 实现图像预览?

ruby-on-rails-3.2 - 静态页面的 CSRF 保护

ruby - 使用 rdf gem 在 ruby​​ 中解析 RDF (RDFXML) - 没有按预期工作

mysql - 试图在 MySQL 数据库中设置日期时间字段的 Ruby 错误