Ruby:如何用两个数组替换字符串中的单词?

标签 ruby

我的情况:

text = "[A] and [B]"
search = ["[A]", "[B]", "[C]", "[D]", "[Aa]"]
replace = ["[B]", "[C]", "[D]", "[E]", "[Bb]"]

我想将 text 的值替换为 "[B] and [C]"

我该怎么做?非常感谢!

最佳答案

text.gsub(/\[\w+\]/, Hash[search.zip replace])
# => "[B] and [C]"

关于Ruby:如何用两个数组替换字符串中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249887/

相关文章:

ruby - 如何从 sinatra 中的流 block 内部停止?

ruby - RSpec -- 测试是否使用之前定义的 block 调用 block

ruby - 调用 super 和调用 super() 的区别

ruby-on-rails - 使用 redis ruby​​ gem,如何从匹配模式的 redis 中清除一组键?

ruby - 在 Ruby 中下载 ttf 文件

ruby - 在 Rails 中,如何向 String 类添加一个新方法?

ruby-on-rails - 基于小时的 ActiveRecord 范围

ruby-on-rails - ruby 是_a?对比===

javascript - 使用 javascript 或 ruby​​ 分割此字符串

ruby-on-rails - 如何阻止用户在 Omniauth (rails) 中编辑其他用户帖子