clear clc fileFolder=[pwd,]; dirOutput=dir(fullfile(fileFolder,'*.ini')); fileNames={dirOutput.name}'; num_files = length(fileNames); [filepath,foname] = fileparts(fileFolder); if ~isfolder('result') mkdir('result'); end for fi = 1:num_files file = [fileFolder,'\',cell2mat(fileNames(fi))]; celldatas = fread_user(file); rl=length(celldatas); str_all = []; %% 对每一行进行操作 for num_r=1:rl %%删除空格 str = celldatas{num_r,1}; str_new = ''; str_cell = strsplit(str,' '); for i = [1:length(str)] if ~strcmp(str(i),' ') str_new = [str_new, str(i)]; end end str=str_new; %%修改name:替换为一个空格 locname=strfind(str_new,'name:'); for num_loc=1:length(locname) str(locname(num_loc):locname(num_loc)+4) = ' '; end str_new=strsplit(str); str2=[]; for num_s=1:length(str_new) if num_s ~= length(str_new) str2=[str2,str_new{num_s},' ']; else str2=[str2,str_new{num_s}]; end end %%去掉每一行$及以后的字符 locname2=strfind(str2,'$'); str2(locname2:end)=[]; if num_r ~= rl str_all = [str_all, str2, '\n']; else str_all = [str_all, str2]; end end %%存进去 fp = fopen(['.\result\',fileNames{1}],'w'); fprintf(fp,str_all); fclose(fp); end %% read file by rows function celldata = fread_user(file) fp = fopen(file,'r'); i = 1; flag = 0; celldata = {}; while(flag~=-1) flag = fgetl(fp); if flag ~=-1 celldata{i,1} = flag; end if length(flag)==0 flag=0; end i = i +1; end fclose(fp); end