Backslash in einem String ...
screamfine
- javascript
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 !
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
DANKE!!! Aber ...
Warum geht dann das hier bei mir nicht:
<script>
var Begriff = "C:\test\datei\ordner\irgendwas.txt";
alert(Begriff.lastIndexOf("\"));
</script>
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
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 !!!
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
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!!!
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
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???