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 formatieren

 

Jan2000
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 11.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2011, 00:35     Titel: Text-Datei formatieren
  Antworten mit Zitat      
Hallo,

ich habe Frage zu Text-manipliation,
ich habe so eine textdatei, die sieht ungefähr so aus:
Befehl\3-Axis\Form-R\NC_YXZ_CenterofMasse.TXT }
N20 {Info Tool---> Diameter1 [mm] = 10.000000}
N30 {Info Tool---> Length2 [mm] = 55.000000}
N40 {Info Tool---> Diameter2 [mm] = 6.000000}
N50 {Info Tool---> Length1 [mm] = 15.000000}
N60 {Info Feed [mm/min] = 1000}
N80 {linear Interpolation}
N90 G49 G54 G00 F1500.00 X 42.50 Y-104.22 Z155.00 A 0.00 B 0.00 C 0.00 M24.250
N100 G00 X 85.00 Y-215.00 Z105.00 A 0.00 B 0.00 C 0.00
N110 G01 X 85.00 Y-217.00 Z 94.25 A 0.00 B 0.00 C 0.00
N120 G01 X 0.00 Y-217.00 Z 94.25 A 0.00 B 0.00 C 0.00

und möchte sie manipoieren und als eine Array speichern. Es soll dabei den kopf gelöscht werden und zusätzliche Informatioen auch gelöscht werden, nur Werte von X, Y,Z,A,B,C sind zu speichern. ich habe es mit diese code versucht:

Code:
fid = fopen(uigetfile('*.txt','r'));
data = char(fread(fid));
regexprep(data,'(G49)|(G54)|(G00)|(G01)|(F1500.00)|(G123)|(X)|(Y)|(Z)|(A)|(B)|(C)|({// end 1} end)|({linear Interpolation})|({end of main Program})|(M30)|(M24.250)',' ')
fclose(fid)


das klappt nicht und ich bekomme diese Fehlermeldung

??? Error using ==> regexprep
The first argument (STRING) must be a one-dimensional array of char or cell arrays of strings.


dann habe ich mit dieser code versucht

Code:
[filename,pathname]= uigetfile('*.txt','Daten laden(*.txt)');
w= dlmread('filename.txt', 'delimiter', '\n', 'whitespace', '','headerlines',1 )
F=regexprep(w,'(G49)|(G54)|(G00)|(G01)|(F1500.00)|(G123)|(X)|(Y)|(Z)|(A)|(B)|(C)|({// end 1} end)|({linear Interpolation})|({end of main Program})|(M30)|(M24.250)',' ')
F=cell(m,n)


ich bekomme diese Fehlermeldung:

??? Error using ==> dlmread
Too many input arguments.

kann jemand mir sagen wo das Problem liegt? oder wie ich die Text umbauen und in eine Array speichern kann? gibt es eine Möglichkeit mit
der ich bestimmte Anzahl von Zeilen beim lesen ignorieren kann?
wenn ich Zeile für Zeile lesen will, reicht
eine while schleife? da ich keine Information über länge der String habe?

Danke
Jan
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: 17.11.2011, 12:08     Titel: Re: Text-Datei formatieren
  Antworten mit Zitat      
Hallo Jan2000,

Zitat:
??? Error using ==> regexprep
The first argument (STRING) must be a one-dimensional array of char or cell arrays of strings.

Die Meldung ist eindeutig. Mit einem [N x 1] CHAR-Vekor kann REGEXPREP nicht umgehen. Du benötigst also ein TRANSPOSE.

Zitat:
Code:
w= dlmread('filename.txt', 'delimiter', '\n', 'whitespace', '','headerlines',1)

??? Error using ==> dlmread
Too many input arguments.

Siehe "help dlmread":
Zitat:
DLMREAD(FILENAME,DELIMITER,R,C)

Da ist kein Platz für 'delimiter' und 'whitespace' oder 'headerlines'.
Diese Inputs passen zu TEXTSCAN.

Das Lesen der Hilfe-Texte kann ich nur wärmstens empfehlen. Dies sollte man immer tun, bevor man im Forum eine Frage stellt.

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 - 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.