如何根据变量头的正则表达式在 Matlab 中索引表?



我正在尝试读取一个CSV文件,该文件包含多个列中的数据,不适用于我尝试运行的程序。我只想从包含"CX"的列中读取表格。有没有办法在表中执行此操作?实际上,我正在尝试使用正则表达式对表进行索引。

假设您已经将CSV加载为表,并且想要根据列变量名称进行选择,则可以使用contains

CX_1 = rand(10,1);
CX_2 = rand(10,1);
CY_1 = rand(10,1);
T = table(CX_1, CY_1, CX_2)
VarNames = T.Properties.VariableNames;
VarsToKeep = contains(VarNames, 'CX');
T_cx = T(:, VarsToKeep)

如果要与正则表达式匹配,还可以使用以下方法:

VarsToKeep = ~cellfun(@isempty, regexp(VarNames, 'CX'));
T_cx = T(:, VarsToKeep)

最新更新