如何处理具有不同数量分隔符的单元格数组

时间:2019-03-26 12:47:28

标签: matlab

  

使用分割错误

     

文本的元素5包含4个定界符,而前面的元素具有5个定界符。所有元素必须包含相同数量的定界符。

str = split(s4, ",");
'15:54:58.882",tscompute1,"524,288",bytes,"intel_rdt"'
'15:54:58.882",tscompute1,"294,912",bytes,"intel_rdt"'
'15:54:58.882",tscompute1,"786,432",bytes,"intel_rdt"'
'15:54:58.882",tscompute1,"491,520",bytes,"intel_rdt"'
'15:54:58.882",tscompute1,0,bytes,"intel_rdt"'
'15:54:58.882",tscompute1,0,bytes,"intel_rdt"'

在使用split()函数拆分具有不同分隔符数量的字符串的单元格数组时,出现上述错误。提供的是示例数据。

1 个答案:

答案 0 :(得分:-1)

您的问题是,(我假设)s4是您的单元格,因此您需要以替代方式访问s4中的每个字符串(使用大括号{})。

str = [];
for i = 1:length(s4)
    str = [str; split(s4{i}, ",")];
end

Heresplit的MATLAB参考文档。要了解有关单元格如何工作的更多信息,请阅读this MATLAB Document页面。

但是,如果您的单元格为Mx1,则只需将单元格转置为1xM即可将其完全加载到split中。

s4 = tranpose(s4);
str = split(s4, ",");