0

我是 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.

请给点建议!

4

1 回答 1

0

你可以regexprep

>> newC = regexprep( file_content, 'hello', 'Ciao' );
>> fid = fopen('newfile.txt', 'wt'); 
>> fprintf(fid, '%s', newC);
>> fclose(fid);
于 2013-07-15T18:39:46.203 回答