fuersorger: im Pfad: Leerzeichen ersetzen mit ....??

Javasript:
Ich bitte um eine kleine Hilfestellung, da ich nirgends pfündig geworden bin
und auch keine zündende Idee habe. Folgendes soll umgesetzt werden
********************************************************************

  1. die Leerzeichen in Datei und im Pfad sollen ersetzt werden
  2. erst in Schritt2 soll dann die Dateiendung einschl. Punkt entfernt werden

Die variable ist bereits eingelesen und gespeichert

Source:
var patheingang_1 = C:\cuts\run und bak\test1 version2.hrg

Schritt2 :
var patheingang_2 = C:\cuts\run" "und" "bak\test1" "version2.hrg / oder ' '

Schritt3 :
var patheingang_3 = C:\cuts\run" "und" "bak\test1" "version2 / ohne ( .hrg )

Wer kann helfen ?

  1. Mahlzeit.

    Ich bitte um eine kleine Hilfestellung, da ich nirgends pfündig geworden bin

    "Fündig" kommt von Fund (finden), nicht Pfund (dem Gewichtsmaß) :)

    1. die Leerzeichen in Datei und im Pfad sollen ersetzt werden

    Ersetzt durch was? Ich nehme mal den Unterstrich.

    "C:\cuts\run und bak\test1 version2.hrg".replace(/ /g, "_");

    1. erst in Schritt2 soll dann die Dateiendung einschl. Punkt entfernt werden

    "C:\cuts\run_und_bak\test1_version2.hrg".match(/^(.*)(?:.[a-z0-9]+)$/)[1]

    Gruß, Rolle

      1. erst in Schritt2 soll dann die Dateiendung einschl. Punkt entfernt werden

      "C:\cuts\run_und_bak\test1_version2.hrg".match(/^(.*)(?:.[a-z0-9]+)$/)[1]

      Ich vergaß im Muster ein Fragezeichen, um auch Dateinamen ohne Punktendung verwursten zu können – gibt ja nicht nur Windows auf diesem Planeten. Außerdem zu erwähnen, dass ich als Dateiendung einfach mal "Ein Punkt gefolgt von mindestens einem lateinischen Buchstaben (a bis z, weder Umlaute noch ß) oder einer Ziffer" definiert habe, wobei ich dann zu allem Überfluss auch noch die Großbuchstaben unterschlug.

      "C:\cuts\run_und_bak\test1_version2.hrg".match(/^(.*)(?:.[a-zA-Z0-9]+)?$/)[1]

      So sieht's besser aus. Hoffentlich.

      1. Hi,

        Ich vergaß im Muster ein Fragezeichen, um auch Dateinamen ohne Punktendung verwursten zu können – gibt ja nicht nur Windows auf diesem Planeten.

        und was ist mit Dateinamen, in denen mehr als ein Punkt vorkommt? - Ah, gut, du hast das Muster mit '$' am Ende des Strings angekettet.

        Außerdem zu erwähnen, dass ich als Dateiendung einfach mal "Ein Punkt gefolgt von mindestens einem lateinischen Buchstaben (a bis z, weder Umlaute noch ß) oder einer Ziffer" definiert habe, wobei ich dann zu allem Überfluss auch noch die Großbuchstaben unterschlug.

        Ja, und auch die Tatsache, dass die Dateiendung auch aus ganz anderen Zeichen bestehen könnte. Wie wär's mit ".$$$" oder ".ähm" oder ".d-mp"?

        Ich würde daher eher nach einem Punkt gefolgt von beliebig vielen Zeichen, die kein Punkt sind, gefolgt vom Stringende suchen.

        Ciao,
         Martin

        --
        There are 10 types of people in the world: Those who understand the binary system, and those who don't.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo Martin,

          Ich würde daher eher nach einem Punkt gefolgt von beliebig vielen Zeichen, die kein Punkt sind, gefolgt vom Stringende suchen.

          ich suche die Extension so:

          var ext = url.substr(url.lastIndexOf(".")+1);

          der Name davor sollte mit

          var name = url.substr(0,url.lastIndexOf("."));

          zu extrahieren sein.

          Gruß, Jürgen

    1. Vielen Dank ich werde deiner Hinweisen folgen

    2. Ersetzt durch was? Ich nehme mal den Unterstrich.

      "C:\cuts\run und bak\test1 version2.hrg".replace(/ /g, "_");

      Ich muss noch mal nachhaken, ich habe mich vermutlich missverständlich ausgedrückt

      Ich benötige tatsächlich nur die Oberstriche - also ohne Inhalt

      Frank und Ela >>  Frank" "und" "Ela

      Gruss Frank

      1. Hallo fuersorger,

        Frank und Ela >>  Frank" "und" "Ela

        du benötigst Anführungszeichen in Anführungszeichen. Dazu kannst du ausnutzen, dass es in Javascript " und ' gibt:

        t = "xxx yyy";  
        txt = t.replace(/ /g,'" "');
        

        oder du maskierst die ":

        txt = t.replace(/ /g,"\" \"");

        Gruß, Jürgen

        1. oder du maskierst die ":

          txt = t.replace(/ /g,"\" \"");

          Gruß, Jürgen

          Vielen Dank maskieren hat geholfen