2011-04-05 9 views

Odpowiedz

70

Można użyć lastIndexOf dostać ostatnią zmienną i że aby dostać resztę.

var rest = str.substring(0, str.lastIndexOf("/") + 1); 
var last = str.substring(str.lastIndexOf("/") + 1, str.length); 

przykład na jsfiddle.

var str = "var1/var2/var3"; 
 

 
var rest = str.substring(0, str.lastIndexOf("/") + 1); 
 
var last = str.substring(str.lastIndexOf("/") + 1, str.length); 
 
console.log(rest); 
 
console.log(last);

+1

Thanx Mark! Kod ur rozwiązał mój problem ... StackOverflow Rox ... !!!!! –

+0

Pomógł mi rozwiązać mój prob –

0

Najprostszym rozwiązaniem jest użycie javascript:

var str = "var1/var2/var3/var4/var5"; 
var splitted = str.split("/"); 
var first = ""; 
for (var i=0; i<splitted.length-1; i++) { 
    first += splitted[i] + "/"; 
} 

var second = ""; 
if (splitted.length > 0) { 
    second = splitted[splitted.length-1]; 
} 

alert(first); // var1/var2/var3/var4/ 
alert(second); // var5 

edycja: ale najkrótszy rozwiązaniem będzie: substring() użytku

+0

i może mieć więcej ukośniki, a nie 3 zawsze –

+0

ok, spróbuj mojego aktualizacji – smas

1

Można użyć do rozłamu, a następnie wyciągnąć ostatni indeks to, jak sposób:

przykład:

var string = 'var1/var2/var3'; 

var result = string.split('/');   //Splits into an array 

//var final = result[result.length -1]; //Grabs last value 
//result.pop();       //Removes last value 

var final = result.pop();    //Removes last value and grap the last value 
var previous = result.join('/');  //Grabs the previous part 

alert("Previous: " + previous + ", Final Part: " + final); //Alerts results 

Demo:

Demo

+0

i może mieć więcej ukośniki –

+0

trzeba będzie więcej ukośniki po obszarze, który chcesz? Jeśli tak, to może być nieco bardziej skomplikowane. Jeśli nie, to powinno działać na to, czego potrzebujesz. –

+0

Mam to ... dziękuję ... –

11

Spróbuj czegoś takiego:

var vars = "var1/var2/var3"; 
var arrVars = vars.split("/"); 
var lastVar = arrVars.pop(); 
var restVar = arrVars.join("/"); 
alert(lastVar); 
alert(restVar); 
1
var txt = "var1/var2/var3"; 
txt = txt.split('/') 

var Var1 = txt.pop(); 
var Var2 = txt[0]+'/'+txt[1]; 

alert(Var1); 
alert(Var2); 
+0

Nie pomocne, ponieważ odpowiedź nie wyjaśnia, co będzie zawartość Var1 i Var2 – gonephishing

0

string.substring (początek, koniec)

gdzie

początek = wymagana. Miejsce rozpoczęcia ekstrakcji. Pierwszy znak ma indeks 0

koniec = Opcjonalnie. Pozycja (do, ale nie włącznie), gdzie zakończyć ekstrakcję. Jeżeli zostanie pominięty, to wydobywa resztę napisu

var string = "var1/var2/var3"; 

    start = string.lastIndexOf('/'); //console.log(start); o/p:- 9 
    end  = string.length;   //console.log(end); o/p:- 14 

    var string_before_last_slash = string.substring(0, start); 
    console.log(string_before_last_slash);//o/p:- var1/var2 

    var string_after_last_slash = string.substring(start+1, end); 
    console.log(string_after_last_slash);//o/p:- var3 

LUB

var string_after_last_slash = string.substring(start+1); 
    console.log(string_after_last_slash);//o/p:- var3 
Powiązane problemy