如何通过使用函数deleteBetween(Matlab R2019a)删除多个文件中的字符串

时间:2019-05-22 19:18:07

标签: matlab

我正在尝试使用Matlab函数deleteBetween删除多个文本文件(xml文件)中的特定字符串(xmln =和下一个空格之间的所有内容),但未成功。然后将文件移动到新文件夹。到目前为止的代码如下。欢迎任何帮助。


modified_xml = fullfile(pwd, 'modified_xml')    
if exist([pwd '\modified_xml'])~=7              
    mkdir(modified_xml);                        
end
InputOldFiles = dir(fullfile('*.xml'));          
OldFilesNames = {InputOldFiles.name};            
for k = 1 : length(InputOldFiles)
    OldFiles = OldFilesNames{k};

    FID = fopen(OldFiles, 'r');
    if FID == -1, error('Cannot open file'), end

    % Delete specific string (everything between xmlns= and the next empty space)
    text = textscan(FID, '%s', 'delimiter', '\n', 'whitespace', '');
    new_text = eraseBetween(text,"xmlns="," ");
    NewFiles = fopen(OldFiles, 'w');
    if NewFiles == -1, error('Cannot open file'), end

    % Save the file 
    fprintf(NewFiles, '%s\n', new_text{:});
    fclose(NewFiles);

    % Copy the files
    copyfile(OldFiles, NewFiles);             
end


1 个答案:

答案 0 :(得分:0)

这是我的做法:

Int