fill up a cell array with string elements

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

回答 (2 件)

Fangjun Jiang
Fangjun Jiang 2020 年 1 月 13 日

0 投票

This is all you need
words=split('this is a sentence.')

3 件のコメント

Ellen De Jonghe
Ellen De Jonghe 2020 年 1 月 14 日
If I do that, I think i will get a string array. But I need the seperate words in a cell array.
82469426_751600275361231_7318586974888001536_n.png
Fangjun Jiang
Fangjun Jiang 2020 年 1 月 14 日
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 2020 年 2 月 26 日
or use cellstr(split("This is a sentence"))

サインインしてコメントする。

Jonathan Allen
Jonathan Allen 2020 年 2 月 26 日

0 投票

Replace last 2 lines with
[words(:)] = {k{:}};

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

質問済み:

2020 年 1 月 13 日

コメント済み:

2020 年 2 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by