2017-04-12 2 views

Antwort

1

Ja:

var input = "C:\\Sumit\\dropbox\\faces\\Monika1\\3b590ea4-610a-4c32-8486-bb06bbd23bc5.jpg"; 
 
var output = input.replace("C:\\Sumit", ""); 
 

 
console.log("Input: " + input); 
 
console.log("Output: " + output);

Beachten Sie die doppelte Backslash - das ist, weil Backslash ein Escape-Zeichen ist, so dass der erste Backslash teilt die JavaScript-Interpreter ein escape sequence geschehen, und zu schauen beim nächsten Zeichen, um herauszufinden, um welche Art von Escape-Sequenz es sich handelt. Das nächste Zeichen, der zweite umgekehrte Schrägstrich, teilt ihm mit, dass die Escape-Sequenz ein Literal \ erzeugt. Mit anderen Worten, das obige "C:\\Sumit"bedeutetC:\Sumit, wenn Ihr Code interpretiert wird. Probieren Sie die Schaltfläche "Code-Snippet ausführen" aus, und Sie werden sehen, dass die auf der Konsole aufgedruckte Eingabe und Ausgabe wie erwartet einzelne Schrägstriche aufweist.

Wenn Ihre Eingabe von, sagen wir, dem Wert eines Formularelements auf einer Webseite kommt, dann müssen Sie nichts Spezielles tun: Wir entziehen es nur hier, weil wir es als Zeichenfolgenliteral angeben Testzwecke. Aber der Aufruf an input.replace() sollte immer noch seine Backslashes wie angezeigt maskiert haben, da wir dort ein Zeichenfolgenliteral verwenden.

+0

Ich habe Single Slace nicht Double Slace –

+0

@ SumitSarkar wie ich versuchte zu erklären, müssen Sie es in einem String Literal wo immer es normalerweise auftreten würde, zu verdoppeln. Andernfalls, z.B. In Ihrer Zeichenfolge könnte das '\ S' fälschlicherweise als etwas Besonderes interpretiert werden. C.f. https://en.wikipedia.org/wiki/String_literal#Escape_sequences – Kev

1
var str = "C:\\Sumit\\dropbox\\faces\\Monika1\\3b590ea4-610a-4c32-8486-bb06bbd23bc5.jpg"; 
var res = str.replace("C:\\Sumit", ""); 

Das Ergebnis res wird: \ Dropbox \ Gesichter \ Monika1 \ 3b590ea4-610a-4c32-8486-bb06bbd23bc5.jpg

+0

'\ dropbox \\ Gesichter \\ Monika1 \\ 3b590ea4-610a-4c32-8486-bb06bbd23bc5.jpg' – Oshibka404

+0

Backslash ist das Escape-Zeichen; brauche zwei, um eins zu bekommen. –

+0

Was ist, wenn wir single slace input nicht double haben –

Verwandte Themen