use*_*296 7 ruby regex variables grep ruby-on-rails
我正在运行grep方法来通过模式匹配进行过滤.这是一个示例代码.
companies.grep /city/
Run Code Online (Sandbox Code Playgroud)
但是,ruby不允许我在rails视图中输入带有块的area_code.相反,我被迫像这样硬编码:
companies.grep /miami/
Run Code Online (Sandbox Code Playgroud)
请记住,城市是一个变量.例如,
city = miami
Run Code Online (Sandbox Code Playgroud)
但是,它更新.你知道我可以将变量传递给grep方法吗?
另外,我尝试过companies.grep /#{city} /,但它没有用
Ama*_*dan 20
companies.grep /#{city}/
# or
companies.grep Regexp.new(city)
Run Code Online (Sandbox Code Playgroud)
在简单的字母数字查询的情况下,这应该足够了; 但是,如果你不打算使用正则表达式运算符,那么最好去实现它们.因此,更好的版本:
companies.grep /#{Regexp.escape city}/
# or
companies.grep Regexp.new(Regexp.escape city)
Run Code Online (Sandbox Code Playgroud)