|
|
Bestimmte Einträge aus Array löschen |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.03.2010, 09:14
Titel: Bestimmte Einträge aus Array löschen
|
 |
Hallo zusammen,
ich fange quasi frisch mit Matlab an, daher eine vermutlich recht simple Frage. Mir fehlt die Matlab-spezifische Syntax, ich hoffe mir kann jemand aushelfen.
Mit
werden einzlne Verzeichnisnamen rausgesucht und mit
weiterverarbeitet.
Leider sollen nicht alle Verzeichnisnamen in handles.directory_index auftauchen, eine Blacklist sozusagen. Ich bräuchte also eine kleine Schleife über alle indexA, die bestimmte Einträge entfernt.
Die Verzeichnisstuktur sieht ungefähr so aus (Verzname steht hierbei für einen beliebigen Namen):
Und "_F" filtert alle Verzeichnisse raus, die nicht in der Liste auftauchen sollen.
Ich hoffe, ich habe mich nicht all zu unklar ausgedrückt Ich bin dankbar für jede Hilfe.
|
|
|
|
|
Jan* |

Forum-Century
|
 |
Beiträge: 178
|
 |
|
 |
Anmeldedatum: 06.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 09.03.2010, 10:01
Titel:
|
 |
Hi,
eine mittelmäßig elegante Methode wäre auf die selbe weise mit strmatch alle verbotenen (auf '_F' endende) Verzeichnisse herauszusuchen, und mit setdiff die Differenzmenge der beiden Vektoren zu bilden. Besser ginge es sicher mit regulären Ausdrücken, da bin ich allerdings nicht besonders fit drin:
Gruß Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.03.2010, 09:55
Titel:
|
 |
Ich habe jetzt mal folgendes ausprobiert:
Irgendwie wollte strvcat bei strfind nicht funktionieren - obwohl strmatch und strfind nicht so unterschiedlich sind..
Dies liefert jedoch kein anderes Ergebnis. Der Inhalt von indexA ist
(als nicht-Matlab-Pro frage ich mich, warum der Inhalt mit Nummern ausgedrückt wird und nicht als Name des Verzeichnisses)
und der Inhalt von indexTest ist
die zwei Nummern hätten zwischen 25 und 29 liegen müssen, damit setdiff funktioniert. Zumal es sich ja auch um die selben Verzeichnisse handelt.
Wo ist der Fehler?
|
|
|
Jan* |

Forum-Century
|
 |
Beiträge: 178
|
 |
|
 |
Anmeldedatum: 06.11.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007b
|
 |
|
|
 |
|
Verfasst am: 10.03.2010, 11:08
Titel:
|
 |
Hi,
strmatch und strfind liefern als Zahl zurück _wo_ eine Überstimmung vorliegt. Ich nehme mal an, dass die Verzeichnisse als Cell-Array im Struct vorliegen. Dann könntest du es zum Beispiel so machen:
Das geht aber vermutlich mit regulären Ausdrücken auch in einer Zeile.
Gruß Jan
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.03.2010, 12:06
Titel:
|
 |
Hallo
Habe ehrlich gesagt nicht ganz verstanden, was am Ende rauskommen soll.
Etwa Neu Liste mit Verzeichnissen, wo kein _A_F auftaucht?
Oder Indizien auf Verzeichnisse, wo kein _A_F auftaucht?
Oder Mehrere Liste mit Verzeichnissen, nach _A_ und _B_ getrennt?
Das geht in der Tat mit Regulären Ausdrücken viel einfacher,
aber leider nicht ganz in einer Zeile
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|