2016-02-22 2 views
0
var str = '#/promotionalMailer/test1'; 

выхода должна быть ==>#/promotionalMailerJavascript регулярного выражения прибудет строки перед вторым/

Я хочу строку перед второй косой чертой '/'

Я попытался это до сих пор:

var str = '#/promotionalMailer/test1'; 
var match = str.match(/([^\/]*\/){2}/)[0]; 
alert(match); 

Но он поставляется со второй косой чертой.

+1

я попытался это до сих пор .. >> вар ул = '#/promotionalMailer/test1'; var match = str.match (/ ([^ \ /] * \ /) {2} /) [0]; предупреждение (матч); Но он приходит со второй чертой –

ответ

0

попробовать split, slice и join

var str = '#/promotionalMailer/test1'; 

console.log(str.split("/").slice(0,2).join("/")); 
+0

Но может быть n число косых черт '/'. Я хочу строку перед второй косой чертой –

0

Например,

var str = '#/promotionalMailer/test1/foo/bar/baz'; 
 

 
result = str.split('/').slice(0, 2).join('/') 
 

 
document.write('<pre>'+JSON.stringify(result,0,3));

Если вы хотите регулярных выражений, то

var str = '#/promotionalMailer/test1/foo/bar/baz'; 
 

 
result = str.match(/[^\/]*\/[^\/]*/)[0] 
 

 
document.write('<pre>'+JSON.stringify(result,0,3));

+0

Это работает ... спасибо ... –

+0

Regex is cool .. еще раз спасибо ... :-) –

Смежные вопросы