ruby - 在特定匹配后将文本附加到文件

标签 ruby

我想将新文本附加到文件中,但只能在某些现有匹配项之后进行。

要附加文本,目前我正在做类似的事情:

File.open(path/to/file, 'a') { |file| file.puts(text) }

但这总是在文件末尾附加 text

有没有办法在文本中的某个字符串之后而不是在文件末尾附加 text

最佳答案

您可以使用 subgsub 来搜索和替换匹配项,例如

file_contents = File.read(file_name)
file_contents.gsub!(/hello/, "hello #{text}")
File.write(file_name, file_contents)

参见 http://ruby-doc.org/core-2.0.0/IO.html#method-c-write

关于ruby - 在特定匹配后将文本附加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29489225/

相关文章:

ruby - 野外的好 cucumber 例子?

ruby-on-rails - 你最喜欢的 ruby​​ 和 rails 测试 "gem(s)"或 "plugins"

javascript - 如何删除无法创建图表: can't acquire context from the given item error while using it with Ruby on Rails?

ruby - 检查一个散列是否包含另一个散列

ruby - 如何在 Ruby 中获取给定月份的天数,占年?

ruby - 如何使用 nokogiri 获取属性值

ruby - 如何获取 : and string? 之间的文本

arrays - 使用数字作为默认索引

ruby-on-rails - 如何使用 Ruby 检查浏览器是否支持 HTML5 和 CSS3 功能?

ruby 访问静态变量