Ruby查找并替换文件中的每个字符串

时间:2017-03-06 11:06:41

标签: ruby-on-rails ruby

我想知道使用Ruby实现这一目标的最佳方法。我想要的是使用compile 'com.google.android.gms:play-services-maps:9.6.0' compile 'com.google.firebase:firebase-messaging:9.6.0' 将每个发现的事后包装在文件中并保存文件。

示例文本文件为:

query: [ ... ]

示例结果将是:

def ronny
  ronny :create, id: 1, location: nil
end

def alex
  alex :delete, id: 1, location: nil
end

def brandy
  brandy :update, id: 1, location: 555.32
end

def tyson
  tyson :read, id: 1, location: nil
end

def sonap
  sonap :delete, id: 1, location: 31.23
end

ronny :create, query: [ id: 1, location: nil ]

预期保存的文本文件结果应为:

brandy :update, query: [ id: 1, location: 555.32 ]

任何想法??

2 个答案:

答案 0 :(得分:0)

.gsub(/(id: \d+, location: [\d|\.|nil]+)/){|m| "query: [#{m}]"}
#=> "ronny :create, query: [id: 1, location: nil]"

答案 1 :(得分:0)

要将name :action,之后的所有内容包装到query: [],尽管参数名称为:

input.gsub(/(?<=,)((\s*\w+:\s*\w+,?)+)/) do |m|
  " query: [#{m.strip}]"
end