Как я могу вырезать подстроку из строки до конца с помощью JavaScript?

у меня есть url:

http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe

Я хочу получить адрес после последнего тире с помощью javascript:

dashboard.php?page_id=projeto_lista&lista_tipo=equipe

6 ответов


можно использовать indexOf и substr чтобы получить подстроку, которую вы хотите:

//using a string variable set to the URL you want to pull info from
//this could be set to `window.location.href` instead to get the current URL
var strIn  = 'http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe',

    //get the index of the start of the part of the URL we want to keep
    index  = strIn.indexOf('/dashboard.php'),

    //then get everything after the found index
    strOut = strIn.substr(index);

на strOut переменная теперь содержит все после /dashboard.php (включая эту строку).

вот демо:http://jsfiddle.net/DupwQ/

Docs -


Если начало всегда "http://localhost/40ATV" вы можете сделать это:

var a = "http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe";
var cut = a.substr(22);

собственный метод строки JavaScript substr[MDN] может выполнить то, что вам нужно. Просто укажите начальный индекс и опустите параметр length, и он захватит весь путь до конца.

теперь, как перейти к получению начального индекса? Вы не дали никаких критериев, поэтому я не могу помочь с этим.


Это может быть новый, но подстрока метод возвращает все из указанного индекса до конца строки.

var string = "This is a test";

console.log(string.substring(5));
// returns "is a test"

нет необходимости в jQuery, простой старый javascript будет делать эту работу просто отлично.

var myString = "http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe";
var mySplitResult = myString.split("\/");
document.write(mySplitResult[mySplitResult.length - 1]);​

и если вы хотите, чтобы ведущий /

document.write("/" + mySplitResult[mySplitResult.length - 1]);​

в первую очередь сплит URL:

var str = "http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe";
var arr_split = str.split("/");

найти последнего проживания:

var num = arr_split.length-1;

вы получаете адрес после последнего тире:

alert(arr_split[num]);