#node.js
Вопрос:
Мы можем использовать api с вводом «1», и в ответ он может вернуть любое из приведенных ниже значений, которое снова является URL:
https://www.example.com/1 https://www.example.com/1.json https://www.example.com/json1.json https://www.example.com/233
Идея состоит в том, чтобы затем создать URL-адрес из него, чтобы мы могли позвонить выше для других значений, таких как от 1 до 10. Ожидаемый результат для вышеуказанного должен быть:
https://www.example.com/%d https://www.example.com/%d.json https://www.example.com/json%d.json https://www.example.com/%d
Я попробовал регулярное выражение , оно работало до тех пор, пока не сломалась последняя https://www.example.com/0001
функция использования, было исключено, https://www.example.com/000%d
но оно появилось, https://www.example.com/%d
поэтому я думаю, как я могу создать универсальное решение ?
Код, который я использую в настоящее время:
function checkIfUniqueURL(url) { console.log(url) urlArr = url.split("/"); var last = urlArr[urlArr.length - 1]; if (last.includes(".")) { var first = last.split(".")[0] if (/^d $/.test(first)) { console.log( url.substr(0, url.lastIndexOf("/") 1).concat(last.replace(/d /g, "%d"))) } else { console.log(url.substr(0, url.lastIndexOf("/") 1).concat(last.replace(/d /g, "%d"))) } } else { if (/^d $/.test(last)) { console.log(url.substr(0, url.lastIndexOf("/") 1).concat(last.replace(/d /g, "%d"))); } else { console.log(url) } } }
Какая-нибудь помощь ?