fill up a cell array with string elements

12 views (last 30 days)
Hye
I have to write a function that puts the words of a string in a cell array.
I've made the following script.
I already get a cell array with the right amount of cells, but they are all filled up with the first word of the string.
How do I get this right?
function [words] = giveWords(sentence)
k = split(sentence);
words = cell(1,length(k));
words(1,:) = k(1,:);
end

Answers (2)

Fangjun Jiang
Fangjun Jiang on 13 Jan 2020
This is all you need
words=split('this is a sentence.')
  3 Comments
Fangjun Jiang
Fangjun Jiang on 14 Jan 2020
It depends on the data type of the input. In your case, you can add one more line to convert it
words=mat2cell(names,repmat(1,1,size(names,1)),repmat(1,size(names,2),1))
Fangjun Jiang
Fangjun Jiang on 26 Feb 2020
or use cellstr(split("This is a sentence"))

Sign in to comment.


Jonathan Allen
Jonathan Allen on 26 Feb 2020
Replace last 2 lines with
[words(:)] = {k{:}};

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!