我是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.
请咨询!
答案 0 :(得分:0)
您可以使用regexprep
:
>> newC = regexprep( file_content, 'hello', 'Ciao' );
>> fid = fopen('newfile.txt', 'wt');
>> fprintf(fid, '%s', newC);
>> fclose(fid);