Задать вопрос
@Levelse

Как заменить содержимое между последними слешами?

Как заменить или удалить содержимое между последними слешами?

Например, из https://site.com/question/new-post/ должно получится https://site.com/question//.
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
На что надо заменить: const replacement = '!!!';.

Заменяем:

const newStr = str.replace(/(?<=\/)[^\/]*(?=\/[^\/]*$)/, replacement);

// или

const newStr = str
  .split('/')
  .map((n, i, a) => i && i === a.length - 2 ? replacement : n)
  .join('/');

// или

const i = str.lastIndexOf('/');
const j = i > 0 ? -~str.lastIndexOf('/', ~-i) : 0;
const newStr = j ? str.slice(0, j) + replacement + str.slice(i) : str;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы