Я хочу извлечь последнюю часть этой строки: " https://steamcommunity.com/profiles/76561198364464404 ". Просто цифры после '/profiles'. Но проблема в том, что URL может иногда меняться.
Есть два типа URL
1. Первый - это https://steamcommunity.com/profiles/76561198364464404 с профилями / "и затем" id "(id - это числа после '/ profile').
2. "https://steamcommunity.com/id/purotexnuk". Вторым является этот тип. Где «/ profile» не существует.
Я придумал этот код:
let inc;
const index = 27;
const string = 'https://steamcommunity.com/id/purotexnuk';
if (string.includes('profiles')) {
inc = 9;
} else {
inc = 3;
}
console.log(string.slice(index + inc, -1));
Приведенный выше код проверяет, присутствует ли строка «/ profile». Если строка содержит «/profiles".inc, будет 9. Так что срез начинается с правой стороны строки (url) и заканчивается первым '/' от right.inc равно 9, потому что длина «profile /» равна 9. Аналогичным образом, если строка (url) содержит «id». Срез начнется с конца и остановится на первом символе «/» справа. быть 3, потому что "id /" длина равна 3.
Индекс всегда постоянен, потому что "/ profile" или "/ id" встречаются только после " https://steamcommunity.com "чья длина 27. Есть ли лучший способ, которым я могу извлечь только идентификатор профиля или имя профиля?
(идентификатор профиля - 76561198364464404)
(имя профиля - purotexnuk)
2 ответа
Или сделать это в одну строку:
const string = 'https://steamcommunity.com/id/purotexnuk';
console.log(string.slice(string.lastIndexOf("/") + 1, string.length));
Вы можете разделить строку с помощью разделителя /
и вернуть значение последнего значения из массива;
function getNum(str) {
const arr = str.split('/');
if (!isNaN(arr[arr.length - 1])) {
return arr[arr.length - 1];
}
return ' no number ';
}
const st1 = "https://steamcommunity.com/profiles/76561198364464404";
const st2 = "https://steamcommunity.com/profiles/76561198364464404";
const st3 = "https://steamcommunity.com/id/purotexnuk";
console.log(getNum(st1));
console.log(getNum(st2));
console.log(getNum(st3));
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.