Home >Java >javaTutorial >How Can I Efficiently Capitalize the First Letter of Each Word in a Java String?

How Can I Efficiently Capitalize the First Letter of Each Word in a Java String?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-24 16:31:11802browse

How Can I Efficiently Capitalize the First Letter of Each Word in a Java String?

Capitalizing First Characters of Words in Strings: An Enhanced Approach

The limitations of Java's built-in String functions for capitalization prompted the search for a more tailored solution. Specifically, the need arises to capitalize the first character of each word while preserving the casing of others.

Solution: Harnessing Apache Commons-Text

Apache Commons-Text provides a comprehensive suite of string manipulation utilities. Among them, WordUtils.capitalize(str) elegantly fulfills the required functionality. It capitalizes the first character of each word, leaving the rest unaffected.

Usage Demonstration:

import org.apache.commons.text.WordUtils;

String text = "jon skeet";
String capitalized = WordUtils.capitalize(text);
System.out.println(capitalized);  // Output: Jon Skeet

Variant for Full Capitalization:

For scenarios where words should be fully capitalized, WordUtils offers the capitalizeFully(str) method. This ensures that all characters in a word are capitalized, except for apostrophes and hyphens.

String text = "fOO BAr";
String fullyCapitalized = WordUtils.capitalizeFully(text);
System.out.println(fullyCapitalized);  // Output: Foo Bar

Conclusion:

Apache Commons-Text's WordUtils class provides robust methods for capitalizing strings in a customizable manner, addressing the specific need for capitalizing the first character of each word while maintaining the casing of others. Leverage this utility for enhanced control over string capitalization in Java applications.

The above is the detailed content of How Can I Efficiently Capitalize the First Letter of Each Word in a Java String?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn