Hallo,
ich habe Textdateien mit Messdaten. Die Daten umfassen zwei Teile. Der
zweite Teil der Daten wird mit "Begin part II" eingeleitet.
1 | ...
|
2 | a = 100
|
3 | b = 200
|
4 | Begin part II
|
5 | No. Current
|
6 | 1 10.5
|
7 | 2 10.6
|
8 | 3 7
|
9 | ...
|
Zur leichteren Auswertung möchte ich die Daten aufteilen. Hierfür lese
ich die Daten zunächst in Matlab wie folgt ein:
1 | Data = fscanf(fid,'%c');
|
Im nächsten Schritt trenne ich die Datenbereiche mittels Regulärem
Ausdruck auf.
1 | SplitData = regexp(Data,'[\n\r][ \t]*Begin part II[ \t]*[\n\r]','split')
|
Mein Problem ist, dass der oben aufgeführten Reguläre Ausdruck sowohl
unter Windows wie auch unter Linux und MaxOS funktionieren sollte.
Bekanntlich sind bei diesen Systemen die Zeilenumbrücke unterschiedlich.
https://de.wikipedia.org/wiki/Zeilenumbruch#Codierung_des_Zeilenumbruchs
Meine Frage an Euch, ist der Ansatz mit
1 | '[\n\r][ \t]*Begin part II[ \t]*[\n\r]'
|
richtig? Oder habe ich etwas übersehen?
Wäre ggf. der folgende Ausdruck sinnvoller?
1 | '[\r\n]?[\n]?[r]?[ \t]*Begin part II[ \t]*[\r\n]?[\n]?[r]?'
|
Abschließend noch ein Hinweis, Kommentarzeilen der Art
sollten nicht erkannt werden.
Mit freundlichen Grüßen
Guido