fill up a cell array with string elements

5 Ansichten (letzte 30 Tage)
Ellen De Jonghe
Ellen De Jonghe am 13 Jan. 2020
Kommentiert: Fangjun Jiang am 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

Antworten (2)

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

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by