Matlab在表格中拆分文本列

时间:2016-06-22 10:32:31

标签: matlab split

我在MatLab中有一个带有文本列的表对象。此文本列是一个“标记”,并包含两个拆分标记的下划线。

我想用标签的第二个元素创建一个列。我使用了strsplit,但它没有用。我也尝试了regexp,但它给了我一个内部有126个单元格对象的单元格对象,我不知道如何提取每个单元格的第二个元素。

有什么建议吗?

示例:

a = {'a_b'; 'a_c';'a_n';'a_t'}
t = table(a)

我只想要一个带有第二个元素的向量。 感谢。

1 个答案:

答案 0 :(得分:2)

怎么样

t=[t rowfun(@(x) x{1}(3),t)]

1为列,3为您想要的元素。对于字符串部分的未定义长度,它会变得有点棘手

t=[t rowfun(@(X) X{1}(strfind(X{1},'_')+1:end),t,'OutputFormat','cell')];

strfind()得到了' _'元素so(find + 1:end)是字符串的其余部分。因为它们可以具有不同的长度,所以一切都有一个单元作为输出,然后被添加到表中。如果列更改,则必须采用{1}

中的代码