我有一个Item对象的集合。每个项目都有描述。我想遍历集合,对于每个描述属性,我想将“deliver”替换为“send”。每个描述中都会出现“传递”一词。例如:
答案 0 :(得分:2)
对于简单的搜索和替换,听起来你想要这样的东西:
collection.each { |item| item.description.gsub!('deliver', 'send') }
如果这些是ActiveRecord对象或其他类似物,那么您可能还需要item.save
。
如果你需要更强大的模式匹配,String#sub
和相关方法可以接受正则表达式而不是第一个参数的字符串,但如果你需要的话,它可能更快,更可读使用字符串。有关更多详细信息和其他选项,请参阅API docs for String#sub。