Forum: Ruby Reading RTF + Text File and pattern matching

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9d3f0336238a52c9cb107516f981ab88?d=identicon&s=25 Sukhwinder Tambar (prince_tambar)
on 2009-01-12 14:27
Attachment: pattern_matching_solution.txt (2 KB)
Reading RTF and Text File in Ruby and Pattern Matching/searching from
file and replacing with your data.


if you want to read RTF of Text file then u can take help from this code
. Try out following  solution.


filename ='sukhitambar.rtf'
targetfilename ='princetambar.rtf'
File.open(filename, 'r') do |f|   # open file for reading
        lines = f.readlines       # read into array of lines
        lines.each do |line|      # traversing line by line
        line= line.gsub!(/<TodayDate>/, Date.today)  # Pattern (
<TodayDate> )
                           or
         line= line.gsub!(/<......>/,data to be replaced)
        File.open(targetfilename, 'a') do |content|  # opening new
target file in append mode
          content.puts line               # saving the line to another
rtf file
        end
     end
    end


In the above code user can read data from Rich Text Format (RTF) file
and search for some specific pattern and replace with his required
data.and saved it to another RTF file. i hope this code will help for
those whose want to read from RTF file and do pattern matching.

Thanks

By :-

Sukhwinder Singh Tambar
Ff97ca87af59ee68ceff5877a8365788?d=identicon&s=25 Jarmo Pertman (juuser)
on 2009-01-13 22:41
Or, in little shorter way:

data = File.readlines("test1.txt") #read file into array
data.map! {|line| line.gsub(/world/, "ruby")} #invoke on each line gsub
File.open("test2.txt", "a") {|f| f.puts data} #output data to other file

Although I don't understand, why would you want to append instead of
write?


Sukhwinder Tambar wrote:
> Reading RTF and Text File in Ruby and Pattern Matching/searching from
> file and replacing with your data....
9d3f0336238a52c9cb107516f981ab88?d=identicon&s=25 Sukhwinder Tambar (prince_tambar)
on 2009-01-15 07:17
Thanks Jarmo Pertman for the little way to do this. i am using append
mode bcz i have lot of Pattern need to be replace with my date
dynamically. so i open the file in append mode inside the loop.

One more thing. in text file gsub find the required pattern easily but
while reading from RTF file we get the data in other way. so i did this

line= line.gsub!(/<TodayDate>/, Date.today)

i am agree with map you used.

bye the thank for shorter the code.
This topic is locked and can not be replied to.