|
|
Bestimmten Text auslesen - REGEXP |
|
Yardbird |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.08.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2020, 10:52
Titel: Bestimmten Text auslesen - REGEXP
|
|
|
|
|
Hallo zusammen,
ich möchte einen bestimmten Text in einer Datei finden und in dieser Zeile 4 Werte herauslesen, welche in eine separate Datei geschrieben werden. Zur Verdeutlichung habe ich ein Bild angehangen. Hier ist die Dateistruktur zu sehen. Im Prinzip brauche ich die Zeilen wo eine 13 steht gefolgt (mit mehreren Leerzeichen getrennt) von |Y.
Momentan versuche ich diese Zeilen zu finden und orientiere mich an verschiedene Posts hier im Forum, aber in erster Linie an diesen Post hier:
https://in.mathworks.com/matlabcent.....tring-and-return-the-line
Wende ich den Befehl find(~cellfun(@isempty,strfind(meintext,'13') an dann findet er halt alle Zeilen mit 13.
Jetzt habe ich aber einen viel besseren Weg gefunden mit regexp, leider habe ich Probleme mit der Expressionformulierung.
ergebnis=regexp(meintext, '13/s|Y'):
mit '13/s|Y' dachte ich sucht er mir nur die richtigen Zeilen raus, also die mit ner 13 gefolgt von |Y (siehe Screenshot). Leider sucht er mir irgendwie auch andere Zeilen raus.
1.Wie muss die Formulierung lauten, dass er nur Zeilen mit einer (freistehenden) 13 gefolgt von |Y raussucht?
2. Wie bekomme ich die entsprechenden Werte in der Zeile in eine separate Datei?
Vielleicht gibts auch einen einfacheren Weg, auf den ich noch nicht gekommen bin.
Vielen Dank für die Hilfe,
Gruß Felix
Beschreibung: |
|
Download |
Dateiname: |
Beispiel.PNG |
Dateigröße: |
291.03 KB |
Heruntergeladen: |
215 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.08.2020, 11:14
Titel:
|
|
|
|
|
Hallo,
reguläre Ausdrücke sind zwar mächtig, überfordern mich zumindest aber regelmäßig.
Das Format der Datei scheint sehr einheitlich zu sein, insbesondere scheint die Anzahl der Leerzeichen und die Zeichen, die die Zahlen bilden, immer gleich zu sein. Ich würde also:
1. zeilenweise mit
fgetl
einlesen
2. mit
contains
überprüfen, ob die Zeile die richtige ist. Alternativ direkt die Zeichen der Zeile vergleichen
3. die Zeichen für X, Y, Z etc. in Zahlen umwandeln und in Vektoren abspeichern
4. Aus den Vektoren einen Table machen und mit writetable abspeichern.
Alternative zu 1. kann auch sein, das als Table zu importieren. Müsste man probieren, wie gut das geht.
Wenn du die Datei als Text statt als Screenshot postest, kann man viel leichter damit experimentieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Yardbird |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 20.08.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2020, 11:34
Titel:
|
|
Hallo Harald,
vielen Dank für die Hilfe. Das werde ich mal probieren. Anbei habe ich die Datei im TXT Format angehängt.
Gruß
Felix
Beschreibung: |
|
Download |
Dateiname: |
Beispieltxt.txt |
Dateigröße: |
3.43 KB |
Heruntergeladen: |
187 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.08.2020, 12:50
Titel:
|
|
Hallo,
so auf die Schnelle:
Für y und z musst du noch zählen
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|