fill up a cell array with string elements

5 visualizzazioni (ultimi 30 giorni)
Ellen De Jonghe
Ellen De Jonghe il 13 Gen 2020
Commentato: Fangjun Jiang il 26 Feb 2020
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

Risposte (2)

Fangjun Jiang
Fangjun Jiang il 13 Gen 2020
This is all you need
words=split('this is a sentence.')
  3 Commenti
Fangjun Jiang
Fangjun Jiang il 14 Gen 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 il 26 Feb 2020
or use cellstr(split("This is a sentence"))

Accedi per commentare.


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

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by