From: "Cameron, Gemma (UK)" Date: 2006-10-11T21:59:40+09:00 Subject: Re: scanning strings, backward? I think Bil just wants to remove part of the line rather than all of it: > 3) Remove /dt/i i.e. line.gsub!(/\/dt\/i/, '') Using String::gsub as suggested by Vidar Gem -----Original Message----- From: M. Edward (Ed) Borasky [mailto:znmeb@cesmail.net] Sent: 11 October 2006 13:50 To: ruby-talk ML Subject: Re: scanning strings, backward? *** WARNING *** This mail has originated outside your organization, either from an external partner or the Global Internet. Keep this in mind if you answer this message. Bil Kleb wrote: > Hi, > > I would like to automate a code cleanup task which involves finding > warning messages like, > > Warning: ../../LibF90/bc_inviscid.f90, line 1707: > DT explicitly imported into BC_INVISCID_FLUX but not used detected > at BC_INVISCID_FLUX@ > > and removing the offending unused import. > > So, the tasks are roughly, > > 1) Goto line 1707 of the file > 2) Search backward until line.match /\Wdt\W/i > 3) Remove /dt/i > > I'm stuck on an elegant, i.e., Ruby, way to do the first two steps. > Please point me toward the glittering light. > > Thanks, > -- > Bil Kleb > http://fun3d.larc.nasa.gov Wait a minute ... is the file you're editing always a Fortran source? Why not just comment out the offending line rather than removing it? Otherwise, removing a line changes the position number of every line following it. > > ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ********************************************************************