tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
748
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Meisterzunge Meisterzunge ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Ort
    Gütersloh
    Beiträge
    40
    Hi,

    ich suche eine Möglichkeit alle "." (Punkte) aus einem Dateinamen zu entfernen (Hintergrund: Umbenennen von vielen Dateien).

    Die Dateien haben alle das Selbe Format:

    Code :
    1
    
    Info.Über.die.Datei.csv

    Die Datei möchte ich umbenennen in:

    Code :
    1
    
    Info Über die Datei.csv

    Jetzt sollen alle Punkte bis auf den Letzten entfernt werden.

    Folgende Expression habe ich für den Anfang:

    Code :
    1
    
    ((\.[a-zA-Z0-9-_]+)+)(\.\w+$)

    Wenn ich den Inhalt mit \0 ersetze habe ich den kompletten Inhalt so wie er ist. Das komplette ersetzen hätte nur Sinn wenn ich irgendwie sagen könnte dass er die Punkte nicht mit in die Backreferenz aufnehmen soll!? Wäre zumindest ein Ansatz...

    Oder am besten ganz anders vorgehen?

    Gruß,
    Marco
     
    Gruß,
    Marco

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Da ich mit Regex (meistens) auf Kriegsfuß stehe, löse ich es mal so:

    PHP-Code:
    <?php
    $name 
    "Info.Über.die.Datei.csv";

    // Dateiendung entfernen
    $neu substr($name0strlen($name)-4);

    // Punkte durch Leerzeichen ersetzen und Endung wieder anhängen
    $neu str_replace("."" "$neu) . ".csv";

    echo 
    $neu;
    ?>
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Um einfach nur alle Punkte bis auf den letzen durch Leerzeichen zu ersetzen, wären reg. Ausdrücke wie Kanonen auf Spatzen.

    Der Vollständigkeit halber:
    Code :
    1
    
    [.](?=.*[.])
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  4. #4
    Meisterzunge Meisterzunge ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Ort
    Gütersloh
    Beiträge
    40
    Danke,

    ich wollte das ohne Programmieren lösen - also nur mit PowerGREP o.Ä...

    War auf jeden Fall der richtige Ansatz mit Lookahead..


    Gruß,
    Marco
     
    Gruß,
    Marco

Ähnliche Themen

  1. CAD Daten -alle "quilts" entfernen
    Von Render79 im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 24.08.11, 10:03
  2. Antworten: 0
    Letzter Beitrag: 05.08.11, 14:49
  3. Antworten: 1
    Letzter Beitrag: 19.04.10, 10:12
  4. Antworten: 17
    Letzter Beitrag: 17.08.05, 08:19
  5. Antworten: 18
    Letzter Beitrag: 17.08.05, 08:19

Stichworte