2016-08-29 251 views
2

我有一个字符串阵列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'

回答

2

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

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

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

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

个人而言,我更喜欢第二种方法,并且@excaza在评论中指出,strplit在内部无论如何调用regexp

+1

FWIW,'strplit'只是'regexp'的一个包装 – excaza

相关问题