RockO <rock.ouimet <at> gmail.com> writes: > > > Dear R world, > > Do you know about a function that would capitalize in the correct manner > first and family names? > I found in the cwhmisc only the CapLeading function, but it just does not do > the job, taking care only to capitalize the first letter of a word. > > I am looking for a function that would recognize " |'|Mc|-" and capitalize > the first letter following these characters. > > An example: > names<-c("jean-francois st-john","helene o'donnel", "joe mcintyre") > > Desired result: > > >"Jean-Francois St-John" "Helene O'Donnel" "Joe McIntyre"
This is pretty tricky. gsub() can do some pretty slick things, including replace with capitalized versions, so you could probably write a gsub string to capitalize letters appearing at the beginning of words OR after non-alphabetic characters. (See the end of the examples in ?gsub ...) "McIntyre" represents a whole other class of difficulty. Some Scots capitalize after "Mc", others don't. And what about all the rules about capitalization (or not) after de/du/van/von? What would you do with a Dutch name like "'t Hooft" ... ? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.