Is there a function built into Java that capitalizes the first character of each word in a String, and does not affect the others?
Examples:
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 toUpperCase()
and toLowerCase()
, 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.
Using
org.apache.commons.lang.StringUtils
makes it very simple.If you prefer Guava...
Use:
If you're only worried about the first letter of the first word being capitalized: