Deleting strings in a list
28 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Niels Gustav Nortvig Willesen
il 26 Feb 2018
Commentato: Stephen23
il 26 Feb 2018
So I have a list containing strings like this
test = {'3.jpg', '4.jpg', '5.jpg', '6.jpg'};
I want to delete the specific entry with the name '4.jpg' completely, not just be left with ' ' - which is what the function erase does erase(test{2}, '4.jpg'). And in my project I do not know where this specific element is located.
for i = 1:length(test)
if strcmp(test{i}, '4.jpg') == 1
""Do something that deletes element i""
end
end
Thanks in advance
1 Commento
Risposta accettata
Jan
il 26 Feb 2018
test = {'3.jpg', '4.jpg', '5.jpg', '6.jpg'};
test(strcmp(test, '4.jpg')) = []
0 Commenti
Più risposte (1)
Geoff Hayes
il 26 Feb 2018
Niels - you could try
test(strcmp(test,'4.jpg')) = []
We use strcmpi(test,'4.jpg') to determine which elements of test string match to 4.jpg. The result is a logical array of zeros and ones (where a one indicates a match). We then set all those matches to be empty which "removes" the element from the list. And so test is now
test =
'3.jpg' '5.jpg' '6.jpg'
0 Commenti
Vedere anche
Categorie
Scopri di più su String Parsing 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!