WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Dateien einlesen abhängig vom Dateinamen

 

hanson
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 25.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.08.2012, 15:07     Titel: Dateien einlesen abhängig vom Dateinamen
  Antworten mit Zitat      
Hallo zusammen,

Ich würde gerne Dateien abhängig vom Dateinamen in Matlab einlesen lassen und habe mir dazu überlegt, einen Pattern vorzugeben, in dem die Zeichenfolge hinterlegt ist, die ein Dateiname auf jeden Fall beinhalten muss, damit die Datei eingelesen wird. Hier gleich ein Beispiel dazu:

Damit eine Datei eingelesen wird, soll das Format ihres Namens folgendermaßen aussehen
\d{8}_***********_\d{5}_\d{5}

Die Datei mit dem Namen
20120820_N2000_P5_00111_00001
oder auch
20120820_V100_V150_00211_00005
soll eingelesen werden.

Hat ein Dateinamen dagegen z.B. folgendes Format
201_N2000_P5_00111_00001
soll die Datei nicht eingelesen werden

Mein Problem ist jetzt, dass ich nicht weiß, was ich statt der "*" im Pattern Name angeben muss, damit alle beliebigen Zeichenfolgen zwischen \d{8}_ und _\d{5}_\d{5} akzeptiert werden.

Ich hoffe, ich konnte mein Problem einigermaßen verständlich ausdrücken und ihr könnt mir dabei weiterhelfen!
Falls etwas nicht verständlich ist, bitte auch kurz melden, dann versuche ich es noch einmal umzuformulieren.


Viele Grüße und schonmal danke im Voraus für eure Hilfe!

hannes
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.08.2012, 15:38     Titel: Re: Dateien einlesen abhängig vom Dateinamen
  Antworten mit Zitat      
Hallo hanson,

Bevor is spekuliere, frage ich lieber nach, was genau "\d{8}" heissen soll.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.08.2012, 17:43     Titel: Re: Dateien einlesen abhängig vom Dateinamen
  Antworten mit Zitat      
hanson hat Folgendes geschrieben:
[...]damit alle beliebigen Zeichenfolgen zwischen[...]


http://de.wikipedia.org/wiki/Reguläre_Ausdrücke#Vordefinierte_Zeichenklassen
http://www.mathworks.de/help/techdoc/matlab_prog/f0-42649.html

siehe Quantoren bzw. die vordefinierten Zeichenklassen

@Jan: \d{8} zerlegt: \d eine beliebige Ziffer und in den geschweiften Klammern der Quantor, d.h. der Ausdruck passt auf eine beliebige Zahl, die 8 Stellen hat, d.h. 00000000 bis 99999999
Private Nachricht senden Benutzer-Profile anzeigen
 
hanson
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 25.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.08.2012, 20:34     Titel:
  Antworten mit Zitat      
Habe es mittlerweile selbst durch Probieren herausgefunden und es ist furchtbar simpel:
Der gesuchte Befehl lautet \w+ Laughing
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.08.2012, 11:16     Titel: Re: Dateien einlesen abhängig vom Dateinamen
  Antworten mit Zitat      
Hallo flashpixx,
Zitat:
\d{8} zerlegt: \d eine beliebige Ziffer und in den geschweiften Klammern der Quantor, d.h. der Ausdruck passt auf eine beliebige Zahl, die 8 Stellen hat, d.h. 00000000 bis 99999999

Danke. Mir ist schon klar dass es hier um "regular expressions" geht. In einem Forum wäre es aber auf jeden Fall eine gute Idee, dies auch explizit zu schreiben. Immerhin sind die Threads nicht nur für die Eingeweihten, sondern auch für Anfänger gedacht. Und für die ist das Erraten solcher Details nicht möglich.

Aber auch für Fortgeschrittene ist das Erraten der Details in einem Forum eine ineffiziente Idee, da ein falsches Raten manchmal verwirrender ist als gar keine Antwort.

Du hattest einen schönen Link gepostet: http://www.tty1.net/smart-questions_de.html#beprecise. Ich würde eine Frage bei fehlender Präzision allerdings nicht als "dumm" bezeichnen, da das 100% genaue Formulieren einer Fragen sehr oft die Lösung bereits exakt vorgibt. Das ist der Unterschied zwischen der Anfängerfrage "Das geht bei mir irgendwie nicht" und der Profi-Antwort "Was genau geht warum nicht und was passiert statt dessen?".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.