我有一个字符串,我正在尝试使用 Ruby 中的 gsub 方法。问题是我有一个动态的字符串数组,我需要遍历它来搜索原始文本并替换为。
例如,如果我有以下原始字符串(这是我正在使用的一些示例文本,希望它能够全部工作)并且有一个我想要搜索和替换的项目数组。
我在这里先向您的帮助表示感谢!
我有一个字符串,我正在尝试使用 Ruby 中的 gsub 方法。问题是我有一个动态的字符串数组,我需要遍历它来搜索原始文本并替换为。
例如,如果我有以下原始字符串(这是我正在使用的一些示例文本,希望它能够全部工作)并且有一个我想要搜索和替换的项目数组。
我在这里先向您的帮助表示感谢!
这是你想要的?
ruby-1.9.2-p0 > arr = ["This is some sample text", "text file"]
=> ["This is some sample text", "text file"]
ruby-1.9.2-p0 > arr = arr.map {|s| s.gsub(/text/, 'document')}
=> ["This is some sample document", "document file"]
a = ['This is some sample text',
'This is some sample text',
'This is some sample text']
所以 a 是示例数组,然后循环遍历数组并替换值
a.each do |s|
s.gsub!('This is some sample text', 'replacement')
end
使用Array#fill。
irb(main):008:0> a
=> {:a=>1, :b=>2, :c=>3, :d=>nil, :e=>5}
irb(main):009:0> a.values
=> [1, 2, 3, nil, 5]
irb(main):010:0> a.values.fill(:x)
=> [:x, :x, :x, :x, :x]
irb(main):008:0> a
=> {:a=>1, :b=>2, :c=>3, :d=>nil, :e=>5}
irb(main):009:0> a.values
=> [1, 2, 3, nil, 5]
irb(main):012:0> a.values.map { |x| x.nil? ? 'void' : x }
=> [1, 2, 3, "void", 5]
irb(main):016:0> a.values.map { |x| /\d/.match?(x.to_s) ? 'digit' : x }
=> ["digit", "digit", "digit", nil, "digit"]