Rob Biedenharn wrote:
> On Apr 9, 2008, at 8:24 AM, Peter Bailey wrote:
>>>   end
>>>
>>> Rob Biedenharn    http://agileconsultingllc.com
>>> Rob / AgileConsultingLLC.com
>>
>> Thanks, Rob. This works beautifully, except that I need that last
>> </emph> in my output. It's being stripped with your code. I don't see
>> why, because it's just your $3, isn't it?
>> --  
>> Posted via http://www.ruby-forum.com/.
> 
> You said to Todd:
> The original text is just:
> <row><entry><text><emph face="b">THE QUICK BROWN FOX JUMPED OVER THE
> LAZY DOG.<\/emph>/
> 
> I assumed that the "<\/emph>/" part was a cut-n-paste of a regexp for
> the email (which is one reason that I change from // to %r{}
> construction of the Regexp so the / wouldn't have to be escaped.  You
> may have to change the second group to (.*?) [reluctant match rather
> than greedy match] or adjust the third group to exactly match your
> input.
> 
> -Rob
> 
> Rob Biedenharn    http://agileconsultingllc.com
> Rob / AgileConsultingLLC.com

Rob,
So, here's my original file:
<row><entry><text><emph face="b">THE QUICK BROWN FOX JUMPED OVER THE 
LAZY DOG.</emph>

Here's my code, from you:
Dir.chdir("C:/users/pb4072/documents") do |d|
 file = File.read("test1.txt")
 output = file.gsub(%r{^(<row><entry><text><emph 
face="b">)(.*)(<\/emph>)}m) do |match|
 "#{$1}#{$2.gsub(%r{\b\w+\b}){|w|w.capitalize}}#{$3}"
end
   File.open("test1.txt", "w") { |f| f.write output }
end

Here's what I get. It works great, but, I don't understand why the $3 
text is simply blown away.
<row><entry><text><emph face="b">The Quick Brown Fox Jumped Over The 
Lazy Dog.

Thanks,
Peter
-- 
Posted via http://www.ruby-forum.com/.