Antwort
Sie benötigen lastIndexOf
und substr
...
var t = "\\some\\route\\here";
t = t.substr(0, t.lastIndexOf("\\"));
alert(t);
Außerdem müssen Sie \
Zeichen in Strings verdoppeln, wie sie für die Flucht Sonderzeichen verwendet werden.
aktualisieren Da diese regelmäßig für andere nützlich erweist, ist hier ein Snippet Beispiel ...
// the original string
var t = "\\some\\route\\here";
// remove everything after the last backslash
var afterWith = t.substr(0, t.lastIndexOf("\\") + 1);
// remove everything after & including the last backslash
var afterWithout = t.substr(0, t.lastIndexOf("\\"));
// show the results
console.log("before : " + t);
console.log("after (with \\) : " + afterWith);
console.log("after (without \\) : " + afterWithout);
Vielen Dank. Wie mache ich doppelt. Ich habe versucht, diese t.replace ("\\", "\\\\") es funktioniert nicht – INgeek
Sie müssen es nur tun, wenn Sie einen String-Wert direkt im Code, wie im obigen Beispiel. Wenn Sie es von woanders (die URL, zum Beispiel) bekommen, dann machen Sie sich keine Sorgen :) – Archer
t.replace (/ \\/g, "\\\\") hat nicht so gut funktioniert – INgeek
Wie bereits erwähnt in @ Archer Antwort, Sie oben auf verdoppeln müssen die Backslashes. Ich schlage vor, regex replace zu verwenden, um die gewünschte Zeichenfolge zu erhalten:
var t = "\\some\\route\\here";
t = t.replace(/\\[^\\]+$/,"");
alert(t);
Mit JavaScript können Sie dies einfach erreichen. Entferne alles nach dem letzten "_" Ereignis.
var newResult = t.substring(0, t.lastIndexOf("_"));
isuru, ist das nicht schon gut durch die vorhandenen Antworten abgedeckt? – KyleMit
@KyleMit Kannst du sehen? Er hat seine vorherige Antwort aktualisiert. – isuru
Um * noch mehr * info hinzuzufügen, aber selbst die Version vom [22.01.2013] (https://stackoverflow.com/posts/14462451/revisions) enthält 't = tstr (0, t.lastIndexOf (" \\ "));' das ist identisch mit deiner Antwort – KyleMit
- 1. Subtrahieren Sie alles nach der letzten Periode
- 2. Entfernen Zeichenfolge nach dem letzten Bindestrich
- 3. entfernen alles vor dem letzten Vorkommen eines Zeichens
- 4. Entfernen Sie alle Zeichen nach dem letzten Buchstaben
- 5. Entfernen Sie alles vor dem URL-Text
- 6. Regulärer Ausdruck, um alles nach dem letzten zu sammeln/
- 7. Erhalten Sie Inhalte nach dem letzten Schrägstrich
- 8. jQuery: Holen Sie alles nach dem letzten Komma in einer Zeichenfolge?
- 9. Regex entfernen alles nach: (einschließlich :)
- 10. alles nach dem ersten Komma aus String in PHP entfernen
- 11. Wie können Sie alles nach dem letzten Schrägstrich (/) in einer Ruby-Zeichenfolge zurückgeben
- 12. Abfrage alle Zeichen nach dem letzten Komma in Zeichenfolge entfernen
- 13. Zeichenkette nach dem letzten Auftreten eines Zeichens entfernen
- 14. Entfernen String nach dem letzten Schrägstrich in JAVA
- 15. Mit sed entfernen Sie alles nach einem [[: space:]]
- 16. jquery Entfernen alles nach Fragezeichen in url
- 17. Regex zum Entfernen alles nach | (mit |)
- 18. Entfernen Backslash (‚\‘) in Objective-c
- 19. alles in string entfernt bis nach vorn zum letzten Slash
- 20. R gsub alles nach dem leeren
- 21. Erhalte alles nach dem ersten Zeichen
- 22. Entfernen Sie alles zwischen zwei Zeichen
- 23. Fensterliste nach dem letzten Zugriff sortiert bash
- 24. C# entfernen Backslash vor einem Großbuchstaben
- 25. bekommen Wert nach dem letzten Slash (/)
- 26. Replay Elemente in AVQueuePlayer nach dem letzten
- 27. jQuery einfügen nach dem letzten Element
- 28. Was bedeutet der Backslash nach dem Öffnen der Klammer?
- 29. Laravel Rekursion - Suche nach dem "letzten Beitrag"
- 30. wie alles nach youtube id mit mysql entfernen?
Schauen Sie hier: http://stackoverflow.com/questions/6764435/jquery-split-after-last-slash –
Es kann nicht mit jQuery 'erfolgen: P'. –
[MDN - 'String.prototype.lastIndexOf()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) – KyleMit