如何将字符串元胞数组转换为字符串矩阵?

How to convert a cell array of strings into a matrix of strings?

我有一个字符串元胞数组 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. 使用cellfun在每个条目上调用strsplit

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

    out = regexp(data, '\s+', 'split');
    

就我个人而言,我更喜欢第二种方法,正如@excaza 在评论中指出的那样,strplit 无论如何都会在内部调用 regexp