Mindestens drei Möglichkeiten:
Ein regulärer Ausdruck:
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
... mit der Aufschrift "Nimm die Reihe von Zeichen, die keinen Schrägstrich enthalten" ( [^/]*
) am Ende der Zeichenfolge ( $
). Anschließend werden die übereinstimmenden Zeichen aus dem zurückgegebenen Übereinstimmungsobjekt abgerufen, indem sie in das Objekt indiziert werden ( [0]
). In einem Übereinstimmungsobjekt ist der erste Eintrag die gesamte übereinstimmende Zeichenfolge. Keine Notwendigkeit für Erfassungsgruppen.
Live Beispiel
Verwenden von lastIndexOf
und substring
:
var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
macht, wie es sich anhört: Es findet den Index des letzten Vorkommens eines Zeichens (nun, Zeichenfolge) in einer Zeichenfolge und gibt -1 zurück, wenn es nicht gefunden wird. Neun von zehn Fällen möchten Sie wahrscheinlich diesen Rückgabewert ( if (n !== -1)
) überprüfen , aber da wir oben 1 hinzufügen und Teilzeichenfolge aufrufen, werden wir am Ende str.substring(0)
nur den String zurückgeben.
Verwenden von Array#split
Sudhir und Tom Walters haben dies hier und hier behandelt , aber der Vollständigkeit halber:
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
teilt eine Zeichenfolge mit dem angegebenen Trennzeichen auf und gibt ein Array zurück.
Die lastIndexOf
/ substring
-Lösung ist wahrscheinlich die effizienteste (obwohl man immer vorsichtig sein muss, wenn man etwas über JavaScript und Leistung sagt, da sich die Engines so radikal voneinander unterscheiden), aber wenn Sie dies nicht tausende Male in einer Schleife tun, ist dies nicht der Fall Es spielt keine Rolle und ich würde mich um Klarheit des Codes bemühen.
Sie benötigen jQuery nicht und es gibt eine Reihe von Möglichkeiten, dies zu tun, zum Beispiel:
Wo myString Ihre Zeichenfolge enthält.
quelle
quelle
Versuchen;
quelle
Wenn ich weiß, dass die Saite einigermaßen kurz sein wird, verwende ich den folgenden Liner ... (Denken Sie daran, Backslashes zu vermeiden.)
Alarm erscheint mit
picture name.jpg
quelle
Jetzt haben Sie die last.htm in der Pfadzeichenfolge .
quelle
leicht wiegen
wo
start = Required
. Die Position, an der die Extraktion gestartet werden soll. Das erste Zeichen befindet sich am Index 0`.end = Optional
. Die Position (bis, aber nicht einschließlich), an der die Extraktion beendet werden soll. Wenn nicht angegeben, wird der Rest der Zeichenfolge extrahiert.ODER
quelle
Jquery:
Javascript:
Ersetzen Sie '_' || '/' nach eigenem Bedarf
quelle
und für Fragen, die auf der URL gestellt wurden (nach einem Vorkommen von '=' gefragt) ::
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
quelle
Versuche dies:
quelle