Willful Wizard Willful Wizard - 5 months ago 7x
Java Question

How to capitalize the first character of each word in a string

Is there a function built into Java that capitalizes the first character of each word in a String, and does not affect the others?


  • jon skeet
    Jon Skeet

  • miles o'Brien
    Miles O'Brien
    (B remains capital, this rules out Title Case)

  • old mcdonald
    Old Mcdonald

Old McDonald
would be find too, but I don't expect it to be THAT smart.)

A quick look at the Java String Documentation reveals only
, which of course do not provide the desired behavior. Naturally, Google results are dominated by those two functions. It seems like a wheel that must have been invented already, so it couldn't hurt to ask so I can use it in the future.


WordUtils.capitalize(str) (from apache commons-lang)

(Note: if you need "fOO BAr" to become "Foo Bar", then use capitalizeFully(..) instead)