Я пытаюсь заменить некоторые недопустимые символы, которые были включены в текстовые файлы tsv, которые я обрабатываю. Мне нужно заменить символы в файле. Поскольку файлы могут быть довольно большими, я пытаюсь обрабатывать их по очереди.Заменить символы в строке строки в Ruby
То, что у меня есть, это переписать мои файлы и оставить их пустыми. Я знаю, что делаю что-то неправильно с этим, я просто не уверен, что я должен делать по-другому. Спасибо за любой совет.
begin
Dir["#{@data_path}*.tsv"].each do |dir_file|
begin
File.open(dir_file, "w+") do |file|
file.lines.each do |line|
line.gsub(/\\t/, " ")
line.gsub(/\\/, " ")
line.gsub(/\(\"/, "(")
line.gsub(/\"\)/, ")")
end
end
rescue Exception => e
@log.warn("Unable to replace the bad characters because #{e.message}")
next
end
end
rescue
nil
end
Вам не нужны образцы данных, необходимые для воспроизведения проблемы. –