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 に答える