Bezug zu this Frage zu lesen, habe ich diese Datenprobe in eine .txt-Datei gespeichert:Wie werden Daten mit einem benutzerdefinierten Begrenzer
'1458937887.70818 $GPGGA,200228.90,3555.3269,N,15552.9641,A*25'
'1458937887.709668 $GPVTG,56.740,T,56.740,M,
0.069,N,0.127,K,D*2D'
'1458937887.712022 $GPGGA,200229.00,3555.3269,N,
15552.9641,C*2B'
'1458937887.714071 $GPVTG,286.847,T,286.847,M,0.028,N,0.051,K,D*28'
ich die Daten folgendes lesen verwenden:
textscan(fileID,'%s','Delimiter','\n')
Allerdings ist das \n
nicht was ich will. Ich möchte ein anderes Trennzeichen als einen Buchstaben definieren (alphanumerisch), gefolgt von *
, gefolgt von zwei Buchstaben (alphanumerisch), dann einem \n
.
Bearbeiten: Das Hauptproblem besteht darin, dass einige Daten in zwei Zeilen gespeichert werden. Zum Beispiel gehören die Zeilen 2 und 3 oben zum selben Datenpaket.
Das ist eigentlich nicht was ich will. Ich möchte diese Zeichen nicht entfernen. Vielleicht war ich nicht klar genug. Das Problem besteht darin, dass einige der Strings in zwei Zeilen gelesen werden, zum Beispiel die zweite und die dritte Zeile gehören zum selben Datenpaket.Deshalb möchte ich die Daten so lange lesen, bis ich diese Zeichen anstelle des '\ n's sehe. –
Ahhh ich sehe. Nun, ein Vorschlag, den ich habe, ist, die gesamte Datei als String zu lesen, das gewünschte Muster durch die neue Zeile zu ersetzen und es dann durch textscan zu übergeben. Das ist die einzige Möglichkeit, wenn Sie Textscan verwenden möchten. Ich werde meine Antwort bald ändern. – rayryeng
In der Tat habe ich keine Präferenz. Ich brauche nur meinen Code, um effizient zu laufen. –