【Matlab】文件遍历、查找、正则替换

遍历文件夹内某一类型全部文件

如遍历某一文件夹内的所有wav文件:

dir(fullfile(dir, '*.wav'))

file_dir = 'E:\tmp';
filelist_wav = dir(fullfile(file_dir, '*.wav'));

遍历某一文件夹及其子文件夹内的所有wav文件:

file_dir = 'E:\tmp';
filelist_wav = dir(fullfile(file_dir, '\*\', '*.wav'));

某一文件夹内查找某一文件

file_name = 'tmp.wav';
filelist = dir(fullfile(file_dir, file_name));
if ~isempty(filelist_wav2)
	display('Find this file!')
	file_folder = filelist(1).folder;
	file_fullname = [filelist(1).folder, filelist(1).name];
end

正则替换

对某一字符串进行部分字符串替换:

regexprep(string, source_str, replace_str)

如在文件名后加上后缀_enh, 即tmp.wav 变为 tmp_enh.wav

fn = 'tmp.wav';
fn_new = regexprep(fn, '\.wav', '\_enh\.wav');

% fn_new is 'tmp_enh.wav'

数组截取

如截取二维数组,第一维取前n个:

Y = Y(1 : n, :);  

数组拼接

如将多个二维数组进行拼接:

 y_all = [Y, Y_tiny, Y_mini, Y_pocket]

猜你喜欢

转载自blog.csdn.net/u010637291/article/details/113609083