正则表达式格式并使用 2 个元胞数组

标签 regex matlab multiple-columns cell-array

我有一个由 20 个单元组成的矩阵,名为 T。 该矩阵中的每个单元格都包含以下内容:

1,26:00:01.490, 2.40,101.2,  7.8,-24.0,20.40,-0.76,-0.26

我想将其分隔并分成几列,所以我使用:

Data=regexp(T,',','split');

结果是我得到 Data = 20x1 单元格,并且每个单元格内部都有另一个单元格,其中包含我想要的分割向量。

到目前为止,一切都很好,但我想做的下一件事是获取所有时间变量(例如26:00:01.490),但它们位于 2 个单元格内。 我想做的是 Data{:,1}{1,2} 但它说错误的单元格引用操作是错误。

有人知道如何获取另一个单元格内的单元格数组中的整列吗?

最佳答案

如果所有二级单元格的大小相同(即所有字符串的逗号数量都相同),则可以将所有二级单元格垂直连接起来形成一个二维单元格数组,然后就很容易了访问列。

例如:

>> T(1,:) = {'1,26:00:01.490, 2.40,101.2, 7.8,-24.0,20.40,-0.76,-0.26'}; %// example...
>> T(2,:) = {'2,26:00:01.490, 2.40,101.2, 7.8,-24.0,20.40,-0.76,-0.26'}; %// ...with 2 rows
>> Data = regexp(T,',','split'); %// as per your code
>> Data = vertcat(Data{:}); %// concatenate vertically to obtain 2D cell array
>> Data(:,1:2) %// now you can access columns
ans = 
    '1'    '26:00:01.490'
    '2'    '26:00:01.490'

关于正则表达式格式并使用 2 个元胞数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312123/

相关文章:

javascript - 用开始和结束替换多次出现的内容的正则表达式

html - 为什么文本和内联内容在列中分布不均匀?

matlab - 在Matlab中从WAV文件中消除噪音

java - 在matlab中使用java

javascript - 在 div 中获取特定的文本行

html - 两个如何使用 CSS 从不同宽度的内容创建一个两列的动态布局?

java - Java 中 = 后跟任何字符串,后跟 & 的正则表达式

java - java中从文本文件中提取信息

php - 仅预替换 H1 图像

matlab - 使用imread和csvwrite从图像集中创建csv文件时出现Matlab错误