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

Text-Datei einlesen, String suchen und Zeilenindex ausgeben

 

SirGonders
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 31.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2010, 10:51     Titel: Text-Datei einlesen, String suchen und Zeilenindex ausgeben
  Antworten mit Zitat      
Hallo zusammen!

Ich habe folgendes Problem, ich versuche eine Zeile aus einer Textdatei auszulesen in ein Cell-Arry zu packen und mir dann einen gewünschten Messwert auszupicken. Habe auch schon eine statische Lösung für das Problem gefunden, hätte das ganze aber gerne Etwas dynamischer.
Bis jetzt Zähle ich einfach die Zeilen und gehe zu der Zeile in der der Messwert steht. So sieht die Zeile aus:

Code:

|           Data Neutral  0.273  |  0.273  | 20082.5 | 448.297 | 20522.6| 1138.6  
 


Hier einmal mein statischer Ansatz:
Code:

fid = fopen(filename,'r');
for idx=1:11                %move file-pointer to line 11, line of interest
    line = fgetl(fid);
end
fclose(fid);

data=textscan(line,'%s %s %s %f %s %f %s %f %s %f %s %f %s %f %s'); %separate String into formated cell-array
meas_value=data{6};     %WNS reg2reg
 


Meine Frage ist nun, wie kann ich die Zeile dynamisch finden? Die Zeilennummer kann sich ändern deswegen ist der statische Ansatz eher suboptimal...
Wäre cool wenn es sowas wie UNIX grep gibt, aber vermutlich wird es so einfach nicht gehen...

Bin für jede Hilfe dankbar!
Private Nachricht senden Benutzer-Profile anzeigen


SirGonders
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 31.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.05.2010, 13:00     Titel:
  Antworten mit Zitat      
Konnte mir selbst helfen, hier meine Lösung:


Code:

function [DATA] = getdata(filename)

fid = fopen(filename,'r');
line = fgetl(fid);  

while ~numel(strfind(line,'Data'))          %move file-pointer to line of interest
     line = fgetl(fid);    
end
fclose(fid);

data=textscan(line,'%s %s %s %f %s %f %s %f %s %f %s %f %s %f %s'); %separate String into formated cell-array
DATA=data{6};
end
 
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 - 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.