私はMatlabでプログラムの検索と置き換えに多くの問題を抱えてきました。私はここでMWEを再現しました。 forループ内で文字列をregexprepに置き換える? (MATLAB)
は、私が 'BaseJac3.txt' と呼ばれるテキストファイルに次のコードを持って言う:私はy(2)
で
S1_2
を交換する必要が
x2 = -S1_2*(r1+a*K+a*P)+k*KS1_1+d*(PS1_1+KS1_2);
x3 = -S1_3*(r1+a*K+a*P)+k*KS1_2+d*(PS1_2+KS1_3);
x4 = -S1_4*(r1+a*K+a*P)+k*KS1_3+d*(PS1_3+KS1_4);
x5 = -S1_5*(r2+a*K+a*P)+k*KS1_4+d*(PS1_4+KS1_5);
、...、S1_5
y(5)
とします。
y(105)
へ
y(102)
と
y(52)
と
KS1_5
て
KS1_1
PS1_4
てPS1_1
y(57)
には
私はこれをどのように行うことができますか? http://www.mathworks.com/matlabcentral/fileexchange/42877-find-and-replace-in-files
とも私の次のコード:私はこれを使って試してみた
text1 = fileread('BaseJac3.txt');
for k = 1:4
regexprep(text1,['PS1_' num2str(k)],['y(' num2str(k+101) ')']);
end
for k = 1:5
regexprep(text1,['KS1_' num2str(k)],['y(' num2str(k+51) ')']);
end
for k = 2:5
regexprep(text1,['S1_' num2str(k)],['y(' num2str(k) ')']);
end
をどちらも正常に動作しているようだありません。私は正規表現についてはわかりません。
ご協力いただきありがとうございます。
を。むしろ、その文法でループ内で['strrep'](http://www.mathworks.com/help/matlab/ref/strrep.html)を試すべきです。私はあなたがループなしでこれを行うために正規表現を使用できるはずだと思います。 – Dan