我想在文件中添加新文本,但只能在现有匹配之后添加。
要附加文字,目前我正在做类似的事情:
File.open(path/to/file, 'a') { |file| file.puts(text) }
但是这总是在文件的末尾添加text
。
有没有办法在文本中的某个字符串之后追加text
,而不是在文件的末尾?
答案 0 :(得分:2)
您可以使用sub
或gsub
来搜索和替换匹配项,例如
file_contents = File.read(file_name)
file_contents.gsub!(/hello/, "hello #{text}")
File.write(file_name, file_contents)