По сути, у меня есть URL, который выглядит следующим образом:
http://www.my-site.com/topic1/topic2/topic3/topic4/topic5
, и я хочу сделать с ним 2 вещи:
1. check the structure and validate it
2. replace both topic3 and topic4 with a new parameters called topic6
ЭтоЭто мое решение на данный момент, но я заинтересован в создании чего-то более оптимизированного.
if ((url.match(/\//g) || []).length === 7) {
const arr = url.split('/');
const topic5 = arr.pop();
arr.pop();
arr.pop();
arr.push('topic6', topic5);
return arr.join('/');
}
Итак, как вы можете видеть, из-за того, что я не очень хорош в регулярных выражениях, я использовал другой подход, который не 'это выглядит хорошо.Я в основном проверяю количество /
в строке, если tey равно 7, это означает, что структура URL хорошая и что для этого типа URL я должен применить следующие шаги.После этого я беру последний параметр URL, а также удаляю его, а затем после этого я удаляю последние 2 параметра и вместо этого добавляю новый вместе с topic5
.
В случае, если у вас лучшеподход, пожалуйста, дайте мне знать.Я думаю, что это можно сделать, написав меньшее количество строк кода, но, как я уже сказал, я не очень знаком с регулярными выражениями.