ruby-on-rails - 如何将 Ruby 变量放入正则表达式代码中

标签 ruby-on-rails ruby regex variables grep

我正在运行 grep 方法以通过模式匹配进行过滤。这是示例代码。

companies.grep /city/

但是,ruby 不允许我在 rails View 内的 block 中输入 area_code。相反,我不得不像这样对其进行硬编码:

companies.grep /miami/

请记住,城市是一个变量。例如,

city = miami

但是,它会更新。你知道如何通过 grep 方法传递变量吗?

此外,我尝试了 companies.grep /#{city}/,但没有成功

最佳答案

companies.grep /#{city}/
# or
companies.grep Regexp.new(city)

如果是简单的字母数字查询,这就足够了;但如果您不打算使用正则表达式运算符,最好开始练习转义这些内容。因此,更好的版本:

companies.grep /#{Regexp.escape city}/
# or
companies.grep Regexp.new(Regexp.escape city)

关于ruby-on-rails - 如何将 Ruby 变量放入正则表达式代码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756887/

相关文章:

ruby-on-rails - 重定向 Rails 中的所有 URL(已知和未知)

ruby-on-rails - 如何使用Webkit或Selenium驱动程序填充来自 capybara 的ckeditor

ruby - 访问与脚本相同目录中的文件

ruby - 在 Jekyll Liquid 中对 forloop.index 使用模数

使用 rbenv 成功安装 Ruby,但无法访问

python - 使用正则表达式在 Python 中进行字数统计

ruby-on-rails - Rails 中模型的默认命名空间

ruby-on-rails - 无法在 bundle exec 安装 Locomotive CMS

JavaScript - 正则表达式,是否有任何字符串的标记?

c# - 正则表达式: Markdown 式链接匹配