Tim Hunter wrote:
> Peter Bailey wrote:
>> Hello.
>> I need to parse through thousands of TIFF files and do some re-naming.
>> These files have underscores in them followed by a sequential number. I
>> need to grab just the "root" of the filename, without the underscore or
>> the numbers.
>>   Dir.chdir("L:/infocontiffs/ehs-g7917741")
>>   files      = Dir.glob("*.tiff")
>>   file      = files[0]
>>   puts file
>>   file      = file.gsub(/^(.*)_[0-9]+\.tiff/, "#{$1}")
>>   puts file
>> What I get with this is:
>>         ehs-g7917741_01.tiff
>> Why doesn't it give me my root filename?
>> Thanks,
>> Peter
> 
> Is this what you want?
> 
> while fname = DATA.gets
>   m = fname.match /(.*?)_\d+\.tiff/
>   if m
>     puts "Match: '#{m[1]}'"
>   else
>     puts "No match: #{fname}"
>   end
> end
> 
> __END__
> ehs-g7917741_01.tiff
> asadsasd_12345.tiff
> ljhkjhkh_1_2_3.tiff
> xxxx__1.tiff
> xxxx_.tiff
> xxxx.tiff
> xxxx
> _.tiff
> _01.tiff

Well, you gave me a good idea, using match. Here's what I did, and, it 
worked. Thank you very much, Tim.

  Dir.chdir("L:/infocontiffs/ehs-g7917741")
  files      = Dir.glob("*.tiff")
  file      = files[0]
  puts file
  file      = file.match(/^(.*)_[0-9]+\.tiff/)
  #file = file.to_i
  puts $1
  #end
gives me:
        ehs-g7917741_01.tiff
        ehs-g7917741

        Program exited with code 0
-- 
Posted via http://www.ruby-forum.com/.