Sunday, August 26, 2007

Split Camel Case in Ruby

WikiWords are really common and sometimes a pain for indexers and other user input devices... here is a little ruby script to split them apart.

def unCamel(str)
if str.nil?
return ""
end
str.gsub!(/([A-Z]+|[A-Z][a-z])/) {|x| ' ' + x }
str.gsub!(/[A-Z][a-z]+/) {|x| ' ' + x }
return str
end

unCamel("SettingUpRSSCrazy")
=> " Setting Up RSS Crazy"

unCamel("IReallyHATEWikiWords").split(' ')
=> ["I", "Really", "HATE", "Wiki", "Words"]

No comments: