如何将字符串的单元格数组转换为字符串矩阵?

时间:2016-08-29 12:40:31

标签: string matlab matrix cell-array

我有一个字符串763x6 cell的单元格数组。我想将此单元格数组转换为字符串矩阵,以便能够使用接受字符串作为输入的strsplit函数。有帮助吗?注意:当我尝试使用cell2mat时出现错误Error using cat Dimensions of matrices being concatenated are not consistent 我的单元格数组的内容如下所示:

' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla'

' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla'

' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla' ' pla pla pla'

1 个答案:

答案 0 :(得分:2)

不是变成一个矩阵,你可以只对单元格数组进行操作,因为看起来你在每个元素中都有不同大小的数据,这使得它几乎不可能组合成一个字符数组:

  1. 使用cellfun在每个条目上调用strsplit

    out = cellfun(@strsplit, data, 'uniformoutput', false);
    
  2. 只需使用regexp拆分自动接受单元格数组输入的字符串

    out = regexp(data, '\s+', 'split');
    
  3. 就个人而言,我更喜欢第二种方法,正如@excaza在评论中所指出的那样,strplit无论如何在内部调用regexp