我有一个像这样的字符串
I run the "(.*)" query from the "(.*)" file
我有一个包含这些值的数组,['process_date','dates']
我需要将其中的值替换为我的字符串,所以它就像这样
I run the "process_date" query from the "dates" file.
原来我就是这样的
selected_item = selected_item.gsub(/\(\.\*\)/, input_value).rstrip
但现在我需要修改它以使用任意数量的输入。
任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:1)
如果您将块传递给gsub
而不是替换字符串,则每次匹配都会yield
,并且其结果将用作替换字符串。您可以在该块中将索引递增到值数组中,并从块中返回索引值:
input_values = ['process_date', 'dates']
i = -1
selected_item =
selected_item.gsub(/\(\.\*\)/) {
i += 1
input_values[i]
}.rstrip
或者,如果您不关心清空input_values数组,可以使用shift
:
selected_item = selected_item.gsub(/\(\.\*\)/) { input_values.shift }.rstrip