for loop multiple string replace
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Siti Safwana Abd Razak
il 30 Dic 2022
Commentato: Siti Safwana Abd Razak
il 30 Dic 2022
hi all,
i want to replace some old string with new one. i can do in multiple strrep as below:
newChr = strrep(strrep(strrep(strrep(f, 'old', 'wana'), ...
'old1', 'wana1'), ...
'old2','wana2'), ...
'old3','wana3')
but it not convenient to replace 300++ new word. i try to do for loop as below, but dont have any idea to do it. Below my for loop code, anyone can helpme to automate this thing? for now, im still replace using the above methods. thanks
numLines = length(TestInstanceold);
for k = 1:numLines
filename = 'a.txt';
fid = fopen(filename,'r');
f=fread(fid,'*char')';
fclose(fid);
f= strrep(f, TestInstanceold(k,1), TestInstanceold(k,1))
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1247322/image.png)
0 Commenti
Risposta accettata
Stephen23
il 30 Dic 2022
Modificato: Stephen23
il 30 Dic 2022
MATLAB is designed to work neatly and efficiently with arrays. Rather than doing things one-at-a-time like that, you should be using arrays. For example:
A = "title: the cat in the hat";
old = [ "the", "cat", "in", "hat"];
new = ["seven","brides","for","brothers"];
Method one: REPLACE():
Z = replace(A,old,new)
Method two: REGEXPREP():
B = regexprep(A,old,new)
Method three: STRREP() in a loop:
C = A;
for k = 1:numel(old)
C = strrep(C,old{k},new{k});
end
display(C)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!