Как я мог бы написать функцию для следующего:
filename: (строка, соответствующая имени файла)
wordA и wordB: обе строки без пробелов
Функция должна сделать это:
A- прочитайте текстовый файл построчно
B- заменить каждое вхождение слова A на слово B.
C- Напишите измененный текстовый файл, такой же, как исходный файл, но с добавлением 'new_'. Например, если имя входного файла было «data.txt», выводом будет «new_data.txt».
Вот что я сделал. В ней так много ошибок, но я понял основную идею. Не могли бы вы помочь найти мою ошибку и заставить функцию работать.
function [ ] = replaceStr( filename,wordA, wordB )
% to replace wordA to wordB in a txt and then save it in a new file.
newfile=['new_',filename]
fh=fopen(filename, 'r')
fh1=fgets(fh)
fh2=fopen(newfile,'w')
line=''
while ischar(line)
line=fgetl(fh)
newLine=[]
while ~isempty(line)
[word line]= strtok(line, ' ')
if strcmp(wordA,wordB)
word=wordB
end
newLine=[ newLine word '']
end
newLine=[]
fprintf('fh2,newLine')
end
fclose(fh)
fclose(fh2)
end