|
|
Stelle in txt durch Inhalt von anderem txt ersetzen |
|
Quadder |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 11.07.2016, 20:07
Titel: Stelle in txt durch Inhalt von anderem txt ersetzen
|
 |
|
 |
|
Moin noch mal,
ich komme gerade nicht mehr weiter und hoffe ihr könnt mir noch mal helfen!
- Ich habe einen "Rohling" als .src-Datei, welchen ich manipulieren muss, da sich der Dateityp nicht ändern darf. (Kann wie txt-Datei behandelt werden)
- In diesem Rohling habe ich einen bestimmten Ausdruck (quasi ein Anker) den ich gerne durch mehrfache Zeilen ersetzen möchte.
- Die mehrfachen Zeilen erzeuge ich durch mein vorangegangenes Programm, welches eine txt-Datei mit X Zeilen erzeugt. Zahlen, Buchstaben, Sonderzeichen gemischt.
Mein Ansatz:
- Die src-Datei Zeilenweise nach diesem Anker durchsuchen und diesen mit der txt-Datei ersetzen. Allerdings finde ich nirgendwo im Internet ob das möglich ist, oder mit strrep nur ein Ausdruck mit einem anderen ersetzt werden kann.
TEST22.txt ist dabei die zuvor erzeugte Datei mit mehrfachen Zeilen, die an der Stelle ANKER_FUER_CODE in Gänze eingefügt werden soll. Obiges Beispiel funktioniert natürlich so nicht, sondern soll nur den Gedankengang wiederspiegeln.
Vielen Dank schonmal für eure Unterstützung!
Gruß,
Markus
|
|
|
|
|
Quadder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 12:06
Titel:
|
 |
Wenn ich beispielsweise mit
die Daten importiere, liegt newData1 als 84x1 cell vor und kann nicht verarbeitet werden, da fprintf keinen cell als input annimmt.
Wandel ich newData1 mit
um, habe ich zwar theoretische einen 84x1 double, aber hierbei geht sämtlicher Inhalt verloren und die Zellen wird mit NaN ersetzt und in strrep kommt die Warnung "Inputs must be character arrays or cell arrays of strings."
Händisch ist mein Problem so einfach durch copy&paste zu lösen, ich komm nur einfach auf keine mathematische Formulierung..!
|
|
|
ro_mat |

Forum-Century
|
 |
Beiträge: 158
|
 |
|
 |
Anmeldedatum: 20.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 12:47
Titel:
|
 |
Hallo,
was geht denn dabei verloren?? Wie ist es mit
cell2mat
?
|
|
|
Quadder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 13:00
Titel:
|
 |
cell2mat funktioniert auch nicht, da (glaube ich) der Inhalt in meinem Text nicht unterstützt wird.
newData1 liegt als 84x1 cell vor und beinhaltet:
erste Zelle:
';FOLD LSR On Path=0 mm MSet=ME4 LSet=WS2;%{PE}%R 4.2.36,....
zweite Zelle:
'TRIGGER WHEN PATH=0 DELAY=GasDe.....
dritte Zelle:
'TRIGGER WHEN DISTANCE=0 DELAY=Ls....
etc.
Dieser Inhalt soll in einem anderen Dokument an definierter Stelle eingefügt werden..
|
|
|
ro_mat |

Forum-Century
|
 |
Beiträge: 158
|
 |
|
 |
Anmeldedatum: 20.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 13:10
Titel:
|
 |
Ja,
bei importdata kannst du auch angeben in welchem Format deine Zeilen vorliegen - es ist mir aber nicht ersichtlich was in deinem Fall das ist! Viell. hängst du mal die .src an dann schau ich mir das an!
Lg
|
|
|
Quadder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 13:18
Titel:
|
 |
Meinst du die src-Datei, in welche geschrieben werden soll? Oder eher die txt-Datei mit dem Inhalt der kopiert werden soll!? Letztere ist mal angehängt.
Vielen Dank das du dir die Zeit nimmst!
Beschreibung: |
|
 Download |
Dateiname: |
TEST22.txt |
Dateigröße: |
6.22 KB |
Heruntergeladen: |
573 mal |
|
|
|
ro_mat |

Forum-Century
|
 |
Beiträge: 158
|
 |
|
 |
Anmeldedatum: 20.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 13:21
Titel:
|
 |
Hallo,
nein ich habe schon die gemeint wo das konvertieren nicht passt!! Ich schau mal und melde mich wieder
|
|
|
ro_mat |

Forum-Century
|
 |
Beiträge: 158
|
 |
|
 |
Anmeldedatum: 20.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 13:34
Titel:
|
 |
Hallo,
also bei mir funktioniert das - ich lese deine txt mit importdata ein (hat bei mir aber 126x1 cell) und wenn ich den strrep-Befehl anwende, so schreibt er mir den Inhalt des txt-Files an die Stelle!
Lg
|
|
|
Quadder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 14:00
Titel:
|
 |
|
 |
|
Wenn bei dir 126x1 cell erzeugt wird, ist schon mal der erste Unterschied das du die txt Datei mit den Zeilenumbrüchen einlesen kannst. Ich komme nur auf 84x1, was der Inhalt ohne leere Zeilen ist. Wie kommt das zu stande? Ich nutze die Version 2016a..!
Davon abgesehen, funktioniert es im Minimalbeispiel
tatsächlich auch. Das Problem ist scheinbar das Schreiben in dem anderen Dokument.
***Nachtrag: Funktioniert nicht, da new_A aus 84x1 Zelle besteht und 'Das ist nur ein Beispiel' in jeder Zelle stehen hat, wobei 'nur' durch jeweils einen Eintrag von TEST22 ersetzt ist. Das ist nicht gewollt
Wenn ich
schreibe und in dem txt aus A etwas anderes als nur die eine Zeile "ANKER_FUER_CODE" schreibe, kommt der Fehler
Error using strrep
Inputs must be the same size or any one can be a scalar
In meinem eigentlichem Programm, wo Zeilenweise gelesen und geschrieben wird, ist bei diesem Vorgehen das Problem nicht in strrep, sondern in fprintf danach:
"Error using fprintf
Function is not defined for 'cell' inputs."
|
|
|
ro_mat |

Forum-Century
|
 |
Beiträge: 158
|
 |
|
 |
Anmeldedatum: 20.10.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.07.2016, 14:20
Titel:
|
 |
Hallo,
also bezüglich Version nutze ich die R2015b - ist schon komisch aber kann durchaus damit zusammenhängen!
Ich denke das Problem liegt darin das nur in einem zusammenhängenden String dei Funktion strrep angewendet werden kann! Du musst wahrscheinlich das wirklich dann zeilenweise lösen!
Lg
|
|
|
Quadder |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 10.07.16
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: 2016a
|
 |
|
|
 |
|
Verfasst am: 13.07.2016, 14:29
Titel:
|
 |
Ich habe es jetzt anders gelöst, was nicht sehr charmant ist, daher hoffe ich es hat noch jemand einen weiteren Vorschlag.
Ich habe die Ausgangsdatei in der ich meinen generierten Code kopieren möchte jetzt in zwei Hälften aufgeteilt - Anfang.txt und Ende.txt.
Anstelle jetzt nach einem Anker in dem gesamten Dokument zu suchen und diesen zu ersetzen schreibe ich Anfang+generierter Code+Ende in eine Textdatei zusammen:
Vielen Dank noch mal an ro_mat für die Vorschläge!
|
|
|
|
|
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.
|
|