删除放置在数组中的文本

时间:2015-02-09 11:30:54

标签: ruby regex

我想知道是否可以删除字符串,因为它被放入和数组?这是我正在处理的代码:

  def footnotes(text)
    file = File.open(text, "r+")
    contents = file.read

    notes = []
    search = contents.scan(/\\f.*?\\f\*/).each do |find|
      notes.push(find)
    end

    result = notes.each do|note| puts "#{note}\n"
    end
    fn = File.open('footnotes.txt', 'w+')
    fn.puts(result)
    fn.close
    file.close
  end

我希望我能够在文本中删除\\f.*?\\f\*并将其放入数组

3 个答案:

答案 0 :(得分:1)

您正在寻找String#gsub!String#sub!

str = "I have a cat!"
str.gsub! 'cat', ''
#=> "I have a !"

gsub!将替换字符串中的所有出现,sub!仅替换第一个出现。

答案 1 :(得分:0)

轻松出路:

array -= %w["my string"]

如果您正在寻找其他内容,请告诉我

答案 2 :(得分:0)

string = 'I have a cat'
array = ['cat', 'mouse']
string.slice!(array[0])
p string #=> "I have a "