У меня есть строка, которая выглядит так: var string = "something/123/bah/234/id/835/param/2343";Разбор определенной строки в javascript
Я хочу просто нацелить «835», что мне нужно от «id». Какие-нибудь быстрые способы снять это?
У меня есть строка, которая выглядит так: var string = "something/123/bah/234/id/835/param/2343";Разбор определенной строки в javascript
Я хочу просто нацелить «835», что мне нужно от «id». Какие-нибудь быстрые способы снять это?
Разделить его; взять шестой объект:
var string = "something/123/bah/234/id/835/param/2343"
var id = string.split("/")[5]; // "id" is 835 now
Или, если вы хотите получить свой идентификатор, если он расположен сразу после id/
и расположение id/
может измениться:
var string = "something/123/bah/234/id/835/param/2343".split("/");
var id = string[string.indexOf("id")+1]; // "id" is 835 now
if(id==string[0]){id="No ID found"} // ...that's just if id happens not to be in your string
Если номер, который вы хотите извлечь не обязательно шестая часть, но вы знаете, что это после строки id
и состоит из чисел, которые вы можете использовать регулярное выражение
var id_part = string.match(/id\/(\d+)/)[1]
Если URL изменится и только идентификаторы остаются, но в другом месте, то вы можете использовать регулярное выражение:
var id = string.match(/id\/([^\/]+)/i)[1];
Вы можете использовать регулярное выражение, и вытащить идентификатор из захвата группы. Это будет захватывать идентификатор, независимо от того, какая позиция.
var string = "something/123/bah/234/id/835/param/2343";
var regex = /\/id\/(\d+)\//g
var match = regex.exec(string)
alert(match[1]); // 835
Или перебрать раскол ищет массив иды 'id' затем добавьте для значения (если URL, вероятно, изменится) –
Спасибо, но я не мог знать, что он находится в 5-м места, каждый время. – user2096091
@user обновил мой ответ – nicael