2012-04-04 2 views
0

Ich habe die nächste Zeichenfolge "/ 1234/somename" und ich möchte die "somename" heraus mit regexp extrahieren.Was ist die Regexp zum Entfernen von Zeichen zwischen zwei "/" in Javascript

Ich kann den nächsten Code verwenden, um die Aufgabe zu erledigen, aber ich würde gerne wissen, wie das gleiche mit RegExp zu tun.

var pattern = /\/([^\/]+)$/ 
"/1234/somename".match(pattern); 
// ["/somename", "somename"] 

Das Muster passt auf alle Zeichen nach einem / (für einen anderen / außer) aus der Zeichenfolge an das Ende $: mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)

Dank

+0

Versuch '/ [^ \ /] + $ /' –

+0

Check diesen Link [http://stackoverflow.com/questions/4962176/java-extract-part -aus-a-string-zwischen-zwei-special-Zeichen] [1] [1]: http://stackoverflow.com/questions/4962176/java-extract-part-of-a- String-zwischen-zwei-Sonderzeichen –

Antwort

3

In einem regulären Ausdruck, kann es wie geschehen .

Allerdings würde ich wahrscheinlich .split() statt:

// Split on the/and pop off the last element 
// if a/exists in the string... 
var s = "/1234/somename" 
if (s.indexOf("/") >= 0) { 
    var name = s.split("/").pop(); 
} 
0

Dieses:

mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length) 

dazu äquivalent ist:

mystring.replace(/.*[/]/s, '') 

(Beachten Sie, dass trotz des Namens "ersetzen" , diese Methode wird mystring nicht modifizieren, sondern wird eine modifizierte Kopie von 01 zurückgeben .)

0

Versuchen Sie folgendes:

mystring.match(/\/[^\/]+$/) 
Verwandte Themen