Convert a string to initial caps format (initial capitals on all words).
Updated 31 Mar 2016

View License

INITIALCAPS Convert string to "initial caps" format (initial capitals on all words).
B = INITIALCAPS(A) converts the initial letter of all words in A to capitals, where A is a string. Only initial letters are affected.

B = INITIALCAPS(A,idx) converts only the words in A indexed by vector 'idx' to "initial caps" format. A "word" for these purposes is any string of letters separated by one or more non-letters, excluding apostrophes. Thus, the phrase
"don't talk to grown-ups" contains 5 words.

Examples: A = 'life, don''t talk to me about life.'
y = initialcaps(A)
y =
Life, Don't Talk To Me About Life.

y = initialcaps(A,1)
y =
Life, don't talk to me about life.

y = initialcaps(A,[2 3])
y =
life, Don't Talk to me about life.

y = initialcaps(A,[2,5:7])
y =
life, Don't talk to Me About Life.

Acknowledgments: Thanks to Jerome from France for the vectorized code (vastly nicer than my original clunker), and thanks to John D'Errico for the suggestion regarding inclusion of a second input argument.


Cite As

David Fass (2024). initialcaps (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Characters and Strings in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Vectorization courtesy of Jerome. Added second input argument.
Update for BSD license.