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

regexp split dot

 

Sephieroth
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2011, 15:48     Titel: regexp split dot
  Antworten mit Zitat      
Hallo Leute! Ich bin neu hier im Forum und habe gleich mal ein Problem Very Happy .
Ich hoffe mal, ihr könnt mir da helfen...

Ich habe eine Datei, an deren Namen ich noch '_csv' anhängen möchte (also alt: test.txt und neu: test_csv.txt), aber die Split-Funktion bei regexp scheint bei Punkten nicht zu funktionieren (bei z.B. '\' tut es...).

Code:

dateiname_mit_pfad='C:\Users\Sephieroth\Studienarbeit\versuch_heute.txt';
old_name_dat=regexp(dateiname_mit_pfad,'.','split');
 


Jetzt erwarte ich ja irgendwie sowas (einen Vektor mit 2 Elementen):
Code:

['C:\Users\Sephieroth\Studienarbeit\versuch_heute';'txt']
 


bekomme aber:
Code:


old_name_dat =

  Columns 1 through 17

    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''

  Columns 18 through 34

    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''

  Columns 35 through 51

    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''    ''

  Column 52

    ''
 


Was mache ich falsch?

Vielen Dank schon im Voraus!

Gruß,

Jens.
Private Nachricht senden Benutzer-Profile anzeigen


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 24.03.2011, 15:53     Titel:
  Antworten mit Zitat      
Hallo,

deine "Suchmaske" muss in eckige Klammern, da der Punkt ansonsten fuer ein beliebeigen Zeichen steht und er somit bei jedem Zeichen trennt:
Code:

old_name_dat=regexp(dateiname_mit_pfad,'[.]','split')
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 24.03.2011, 16:00     Titel:
  Antworten mit Zitat      
Hallo,
der Punkt gehört zu den sogenannten Metacharacters und muss mit dem escape character( "\" ) versehen werden.

Die eckigen Klammern funktioniert auch, aber der vollständigkeit halber noch folgender Ansatz:

Code:

old_name_dat=regexp(dateiname_mit_pfad,'\.','split');
 


Weitere Metacharacters:
^ [ $ { * ( \ + ) | ? < >
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.03.2011, 16:05     Titel:
  Antworten mit Zitat      
Hallo

Ach wozu denn splitten, man kann Ersetzung direkt dem REGEXPREP überlassen:
und so direkt csv anhängen:
Code:

dateiname_mit_pfad='C:\Users\Sephieroth\Studienarbeit\versuch_heute.txt';
old_name_dat=regexprep(dateiname_mit_pfad,'\.(.)+','_csv$0')
 


Zuletzt bearbeitet von denny am 24.03.2011, 17:26, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Sephieroth
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2011, 16:16     Titel:
  Antworten mit Zitat      
Vielen Dank! Hat alles super geklappt! Very Happy

Gruß,

Jens. Very Happy Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 24.03.2011, 16:17     Titel:
  Antworten mit Zitat      
Hallo denny,

nur mal eine kurze Frage. Wofuer benoetigen wir noch (.)+ eigentlich sollte doch auch ein Punkt reichen?

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 24.03.2011, 17:31     Titel:
  Antworten mit Zitat      
Ja, da hast du recht, in diesem Fall hätte auch nur Punkt zu suchen gereicht.
Ich habe mir einfach gedacht, die komplette Extension auszulesen.
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.