Splitting a cell array of multi-word strings into a cell array of single-word strings
7 ビュー (過去 30 日間)
古いコメントを表示
I have a cell array of multi-word strings that is very long (many tens of thousands of cells) that I want to split into a cell array of single-word strings. Is there a way to do this without combining the split function and a for loop?
Currently, I am doing the following:
CellStrings = {'Here is my First String';'Now a second string';'And here is a third'}
SingleColumnStrings = {};
for i = 1:length(CellStrings)
temp = split(CellStrings(i));
SingleColumnStrings = [SingleColumnStrings; temp];
clear temp
end
clear i
When CellStrings gets large, this for loop takes forever. Is there a way to do this as a matrix/vector operation?
Thanks in advance.
1 件のコメント
Guillaume
2020 年 2 月 3 日
Note that clear is rarely needed. clear inside a loop is a particularly bad idea and will slow the loop for no useful purpose.
採用された回答
fred ssemwogerere
2020 年 2 月 3 日
I think this can do nicely:
SingleColumnStrings=cellstr(strsplit(strjoin(string({'Here is my First String';'Now a second string';'And here is a third'})'))')
その他の回答 (1 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!