Problem 43671. Words Count: A Cell Array Approach

Given an input character vector consisting of words, punctuation marks, white spaces, and possibly newline characters (\n), arrange the unique words alphabetically in a cell array of character vectors (formerly called cell array of strings) and calculate the histogram count of every unique word.

Assumptions:

  1. Case is insensitive, e.g., WORDS and words are treated as the same word, and you may return in the output cell array either the uppercase or lowercase.
  2. Punctuation marks are limited only to comma (,), period (.), colon (:), semi-colon (;), question mark (?), and exclamation mark (!).

For example, given the input txt as a character vector,

txt = 'I love MATLAB and Cody, but I don''t like trivial matlab problems on cody.';

the outputs should be

words = {'and';'but';'Cody';'don''t';'I';'like';'love';'MATLAB';...
         'on';'problems';'trivial'};
count = [1; 1; 2; 1; 2; 1; 1; 2; 1; 1; 1];

Hint: The cell array of strings approach is the dual of the string array approach, i.e., things that can be done via the string arrays approach can also be done using the cell array approach.

Related problems in this series:

Solution Stats

59.79% Correct | 40.21% Incorrect
Last Solution submitted on Jan 27, 2024

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers53

Suggested Problems

More from this Author29

Community Treasure Hunt

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

Start Hunting!