如何替换字符串(读取文件后)并将更新的内容存储在新文件中?

时间:2013-07-15 17:57:23

标签: matlab

我是MATLAB脚本的新手,我试图将文件(data_files)的内容读入数组C,比较特定字符串('hello')的数组,如果该字符串是找到后,将其替换为另一个字符串('ciao')并相应地更新文件并将其存储在新文件(newfile.txt)中。我有以下代码,请帮我弄清楚我的错误:

C = textread(data_files, '%s', 'delimiter', '\n');
file_content = fileread(data_files);
expr ='\hello';
fileread_info = regexp(filetext, expr, 'match');
length_fileread_info=length(fileread_info);
        if length_fileread_info >=1                            
        C = C(cellfun(@isempty, strrep(filetext,'hello','Ciao') ));
        end
fid = fopen('newfile.txt', 'wt'); 
fprintf(fid, '%s\n', C{:});
fclose(fid);
end

我认为我没有正确实施cellfun。我收到以下错误

??? Error using ==> cellfun
Input #2 expected to be a cell array, was char instead.

请咨询!

1 个答案:

答案 0 :(得分:0)

您可以使用regexprep

>> newC = regexprep( file_content, 'hello', 'Ciao' );
>> fid = fopen('newfile.txt', 'wt'); 
>> fprintf(fid, '%s', newC);
>> fclose(fid);