我将获得以下任何格式的 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/