我在MatLab中有一个带有文本列的表对象。此文本列是一个“标记”,并包含两个拆分标记的下划线。
我想用标签的第二个元素创建一个列。我使用了strsplit,但它没有用。我也尝试了regexp,但它给了我一个内部有126个单元格对象的单元格对象,我不知道如何提取每个单元格的第二个元素。
有什么建议吗?
示例:
a = {'a_b'; 'a_c';'a_n';'a_t'}
t = table(a)
我只想要一个带有第二个元素的向量。 感谢。
答案 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}
中的代码