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

Bei einem String die letzen Zeichen abschneiden

 

christiangr
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 25.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.06.2008, 19:32     Titel: Bei einem String die letzen Zeichen abschneiden
  Antworten mit Zitat      
Hallo!

Ich habe folgendes Problem. Und zwar muss ich zwei Dateien laden. Die beiden Dateien haben den gleich Namen, außer der Endung. Nun lese ich den Dateinamen von einer Datei ein und möchte nun die Ende in dem String löschen und die andere Endung dranhängen. Ist dies möglich? Wenn ja wie?

Ich hoffe auf Antworten! Vielen Dank schon im voraus!!

Chris
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 06.06.2008, 23:10     Titel:
  Antworten mit Zitat      
Es geht mit Regulären Ausdrücken:
Code:

filename    = 'meinedatei.txt';
newfilename = regexprep(filename,'\.(.)*','.tex');
 


oder auch so:
Code:

filename    = 'meinedatei.txt';
newfilename = strrep(filename,'.txt','.tex')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
christiangr
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 25.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2008, 10:20     Titel:
  Antworten mit Zitat      
klappt prima! Danke!!
Private Nachricht senden Benutzer-Profile anzeigen
 
hobs

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2009, 11:36     Titel:
  Antworten mit Zitat      
Gibt es auch die Möglichkeit das Ende eines Strings nur abzuschneiden?

Beispiel:

Das Datum mit Uhrzeit wird von einer Exel Tabelle gelsen...
Datum = 20.10.2009 08:58:14

Nun möchte ich einen String der nur das Datum enthält (20.10.2009)?



weiteres Beispiel:

ich lese von einer Exel Tabelle wieder einen String ein...

String = 012345679/ABCD/1

Nun möchte ich drei einzelne Strings...
String1 = 0123456789
String2 = ABCD
String3 = 1


Ich habe das bisher mit folgendem Code gelöst:

Code:

String3 = String(:,((end)))                      
String1 = regexprep(String,'\/(.)*','')          
temp = String(:,((end-5):end)) ;
String2 = regexprep (temp,'\/(.)*','')  
 


Scheint aber ziemlich umständlich zu sein... gibt es da eine elegantere Lösung?

Vielen Dank! Hobsi
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 21.10.2009, 11:50     Titel:
  Antworten mit Zitat      
Hallo,

so vielleicht
Code:

Datum = '20.10.2009 08:58:14'
regexp(Datum,'\s','split')

String = '012345679/ABCD/1'
regexp(String,'/','split')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
ste99947

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.10.2009, 21:08     Titel:
  Antworten mit Zitat      
Für die Manipulation von Filenamen gibt es auch 'fileparts':
Code:

filename='C:\einPfad\einName.eineEndung'
[pathstr,name,ext,versn] = fileparts(filename)
newname=[pathstr filesep name '.neueEndung']
 


Nur den ersten Teil eines Strings ausgeben:
Code:

Datum='20.10.2009 08:58:14'
[anfang rest]= strtok(Datum)
 


Mit
Code:
sollte es auch gehen.

viel Spass

Stephan
 
alex85
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2009, 21:19     Titel:
  Antworten mit Zitat      
Gibt es eine Möglichkeit, eine bestimmten Anzahl von Zeichen vom Ende eines Strings zu löschen?

'Name_einer_Datei_01.mat'
z.B. möchte ich die letzten 7 Zeichen entfernen, sodass noch 'Name_einer_Datei' übrig bleibt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.11.2009, 21:21     Titel:
  Antworten mit Zitat      
Hallo,

Code:

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
alex85
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2009, 21:50     Titel:
  Antworten mit Zitat      
Super! Vielen Dank Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Giuseppe

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2011, 12:55     Titel:
  Antworten mit Zitat      
Hi bin absoluter neuling was Matlab angeht. Wie kann ich denn die zuletzt genannte Funktion genau anwenden?

Code:


hab eine Variable refdateidat und will den abgeschnittenen teil (also ohne Endung) in die neue Variable refdatei schreiben...
Kann leider nichts genaues finden da die Funktion str so kurz ist.
Danke
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 04.01.2011, 13:36     Titel:
  Antworten mit Zitat      
Giuseppe hat Folgendes geschrieben:
Hi bin absoluter neuling was Matlab angeht. Wie kann ich denn die zuletzt genannte Funktion genau anwenden?

Code:


hab eine Variable refdateidat und will den abgeschnittenen teil (also ohne Endung) in die neue Variable refdatei schreiben...
Kann leider nichts genaues finden da die Funktion str so kurz ist.
Danke


Ich glaube, du hast das Beispiel oben falsch verstanden.

Meinst du folgendes?

Code:

refdateidat='Name_einer_Datei.dat'
refdatei=refdateidat(1:end-4)
 

_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Giuseppe

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2011, 14:07     Titel:
  Antworten mit Zitat      
Autsch, mit str war der String gemeint. Ok, daher konnt ich die Funktion auch nicht finden...Danke
 
Max Meisinger

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2018, 08:42     Titel: ExtractAfter
  Antworten mit Zitat      
Mit der Funktion extractAfter/extractBefor kannst du dein Problem ebenso Lösen.
 
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 - 2024 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.