From: Brian Candler Date: 2009-05-29T01:05:52+09:00 Subject: Re: making a name like "Copy of...", "Copy 2 of..." A bit more compact: def copied_name(source_name) if source_name =~ /\ACopy (\d+ )?of (.*)\z/i "Copy #{($1||1).to_i+1} of #{$2}" else "Copy of #{source_name}" end end You can simplify ($1||1) to just $1, if you don't mind starting at Copy 1 of... instead of Copy 2 of... -- Posted via http://www.ruby-forum.com/.