Forum Doku Wiki Blog

Forumsarchiv 2002, März
Backslash in einem String ...

archivierte Beiträge lesen

  1. (JAVASCRIPT) Backslash in einem String ... von screamfine, 26. 03. 2002, 15:06

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:06 Uhr von screamfine veröffentlicht.

Hallo!

Ich möchte folgende Zeichenkette so aufsplitten, dass ich den Dateinamen als Ergebnis bekomme:

var test = "C:\test\test\test\test.txt";

1.) Habt ihr da ne schnelle Lösung ...
2.) Wie kann man den Backslash angeben? "//" funzt nicht, "/" funzt erst recht nicht ...

Bitte um Hilfe !

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:09 Uhr von Christian Kruse veröffentlicht.

Hoi,

> Ich möchte folgende Zeichenkette so aufsplitten, dass ich den
> Dateinamen als Ergebnis bekomme:

> var test = "C:\test\test\test\test.txt";

> 1.) Habt ihr da ne schnelle Lösung ...

var pieces = test.split("\\");
alert("Laufwerk: " + pieces[0] + ", Datei: " + pieces[pieces.length-1]);

> 2.) Wie kann man den Backslash angeben? "//" funzt nicht, "/" funzt
> erst recht nicht ...

SELFHTML lesen. Einen Backslash escaped man mit einem Backslash ('\\').


Gruesse,
 CK

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:18 Uhr von screamfine veröffentlicht.

DANKE!!! Aber ...

Warum geht dann das hier bei mir nicht:

<script>

var Begriff = "C:\test\datei\ordner\irgendwas.txt";
alert(Begriff.lastIndexOf("\\"));

</script>

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:34 Uhr von Christian Kruse veröffentlicht.

Hoi,

> Warum geht dann das hier bei mir nicht:

> <script>

> var Begriff = "C:\test\datei\ordner\irgendwas.txt";
> alert(Begriff.lastIndexOf("\\"));

> </script>

Weil du die Backslashes in 'Begriff' auch escapen musst:

var Begriff = "C:\\test\\datei\\ordner\\irgendwas.txt";
alert(Begriff.lastIndexOf("\\"));

Aus deinem anderen Posting:

> Laufwerk: C: est est est est est2323.txt, Datei: C: est est est est est2323.txt

Hast du die Backslashes in der Variablen korrekt escaped?

Gruesse,
 CK

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:46 Uhr von screamfine veröffentlicht.

> var Begriff = "C:\\test\\datei\\ordner\\irgendwas.txt";
> alert(Begriff.lastIndexOf("\\"));

Das Problem ist nur, dass ich die Variable 'Begriff' mit dem Inhalt C:\test\test\test\test.txt nicht ändern kann (ist festgelegt!!! die daten kommen nun mal so (Benutzer wählt lokale textdatei aus)).

Ich hab auch schon überlegt, dem Problem so aus dem Weg zu gehen, indem ich die einfachen '\' durch '\\' ersetze - aber das geht ja logischerweise dann auch nicht (wen Du weißt was ich meine).

Es scheint wohl so, als wäre es nicht möglich diese Operation so durchzuführen.

Aber was habe ich dann für eine Möglichkeit????

Ich hab ein INPUT-Feld (file), wo der Benutzer die gewünschte .txt- auswählen tut. So, dann steht z.Bsp. folgendes im INPUT-Feld:

C:\test\test\ordner\irgendwas\lala.txt

Diesen value möchte ich nun in ein anderes INPUT-Type Feld übergeben (event. mittels onChange), allerdings möchte ich nur den Dateinamen (in diesem Fall 'lala.txt') in diesem INPUT-Feld dann stehen haben...

Weißt Du ne andere Lösung ?????

Danke schon mal für Deine aufopferungsvolle Hilfe !!!

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:55 Uhr von Christian Kruse veröffentlicht.

Hoi,

> > var Begriff = "C:\\test\\datei\\ordner\\irgendwas.txt";
> > alert(Begriff.lastIndexOf("\\"));

> Das Problem ist nur, dass ich die Variable 'Begriff' mit dem
> Inhalt C:\test\test\test\test.txt nicht ändern kann (ist
> festgelegt!!! die daten kommen nun mal so (Benutzer wählt lokale
> textdatei aus)).

Wenn du das nicht als String definierst, musst du das auch nicht
tun. Das '\\' ist nur, um dem Interpreter innerhalb eines Strings zu
zeigen, 'hier meine ich den "\"'. Wenn du Usereingaben bekommst,
musst du sie natuerlich auch nicht escapen.

> Ich hab auch schon überlegt, dem Problem so aus dem Weg zu gehen,
> indem ich die einfachen '\' durch '\\' ersetze - aber das geht ja
> logischerweise dann auch nicht (wen Du weißt was ich meine).

Noe. Und ich glaube, du hast den Unterschied von '\\' und '\' noch
nicht verstanden.
Wenn du einer Variablen einen String zuweist, z. B. x = "y", dann
musst du alle Backslashes innerhalb dieses Strings mit einem
Backslash escapen. Bei dem folgenden Beispiel z. B.
enthaelt x nach der Zuweisung 2 Backslashes:

var x = "\\\\";

Die externe Representation von "\\\\" wird intern umgesetzt zu dem
String '\\'.

> Es scheint wohl so, als wäre es nicht möglich diese Operation so
> durchzuführen.

Natuerlich ist es das.

> Ich hab ein INPUT-Feld (file), wo der Benutzer die
> gewünschte .txt- auswählen tut. So, dann steht z.Bsp. folgendes
> im INPUT-Feld:

> C:\test\test\ordner\irgendwas\lala.txt

> Diesen value möchte ich nun in ein anderes INPUT-Type Feld
> übergeben (event. mittels onChange), allerdings möchte ich nur
> den Dateinamen (in diesem Fall 'lala.txt') in diesem INPUT-Feld
> dann stehen haben...

> Weißt Du ne andere Lösung ?????

Die habe ich bereits gepostet.

> Danke schon mal für Deine aufopferungsvolle Hilfe !!!

Lieber waere es mir, wenn du dir die entsprechenden Artikel in
SELFHTML nochmal anschauen wuerdest.

Gruesse,
 CK

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 16:06 Uhr von screamfine veröffentlicht.

Hallo!

Ich hab's endlich geblickt!!! Ja, das funzt tatsächlich!!! Mir war einfach nicht klar, dass es ein Unterschied zwischen bereits vorgegebenen User-Eingaben und selbst definierten Strings gibt !!!!

DANKE!!!

Backslash in einem String ...

Der folgende Beitrag wurde am 26. 03. 2002, 15:57 Uhr von Mel veröffentlicht.

Hi,

> Das Problem ist nur, dass ich die Variable 'Begriff' mit dem Inhalt C:\test\test\test\test.txt nicht ändern kann (ist festgelegt!!! die daten kommen nun mal so (Benutzer wählt lokale textdatei aus)).

Kannst Du nicht als Zwischenschritt mit Begriff = Begriff.replace(...) die einzelnen \ mit \\ ersetzen?

Gruss, Mel

Nee .. geht nicht

Der folgende Beitrag wurde am 26. 03. 2002, 15:24 Uhr von screamfine veröffentlicht.

Bei Deinem Script kommt als Ergebnis das hier raus:

Laufwerk: C: est est est est est2323.txt, Datei: C: est est est est est2323.txt

Häh???

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4