我正在尝试在Octave中运行MATLAB代码。有一个MATLAB函数extractBetween
在八度中尚不可用。原始代码是
extractBetween
我试图用此代码替换它。
numbers = str2double(extractBetween(dirAndFileNames(:,2), 4, 5));
它适用于单个字符串,但不适用于单元格数组。我尝试了其他与单元格数组一起使用的函数,例如numbers = str2double(substr(dirAndFileNames(:,2), 4, 2));
,strtrim
。我想最后提取数字,但strtrunc
给出了与我想要的相反的数字。它给出了第一个字母。
strtrunc
看起来像这样:
dirAndFilenames(:,2)
正如@cris所建议的,我不得不循环。
debug> dirAndFileNames(:,2)
ans =
{
[1,1] = desktop.ini
[2,1] = trn01
[3,1] = trn02
[4,1] = trn03
[5,1] = trn04
[6,1] = trn05
[7,1] = trn06
[8,1] = trn07
[9,1] = trn08
[10,1] = trn09
[11,1] = trn10
}
您可以使用for i = 1:length(dirAndFileNames)
numbers{i} = str2double(substr(dirAndFileNames(i,2){1}, 4, 2))
end
:
cellindexmat