@kirillleogky

Как удалить всё символы до первого / с конца?

Как из такой строки
"/siparis/kampanyalar/tumu/cok-karisik-orta-firsati"
сделать такую "/siparis/kampanyalar/tumu"?
Или из такой "/siparis/kampanyalar/tumu/karisik-ort" такую "/siparis/kampanyalar/tumu"?

Как в общем удалить все после последнего / и включая сам слэш?
  • Вопрос задан
  • 222 просмотра
Решения вопроса 3
@Lorelin
Student web
раздели строку на несколько (используй для разделителя '/')
Ответ написан
Комментировать
Seasle
@Seasle Куратор тега JavaScript
const expression = /.+(?=\/)/;
const array = [
  '/siparis/kampanyalar/tumu/cok-karisik-orta-firsati',
  '/siparis/kampanyalar/tumu/karisik-ort',
  '/siparis'
];

for (const entry of array) {
  const match = entry.match(expression);
  const parsed = match !== null ? match[0] : null;
  
  console.log(parsed);
}
/*
'/siparis/kampanyalar/tumu'
'/siparis/kampanyalar/tumu'
null
*/
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно через метод строки lastIndexOf() искать последнее вхождение слеша в строку:
const dirname = (str) => {
  const pos = str.lastIndexOf('/');
  if (-1 === pos) return str;
  return str.substring(0, pos);
}

dirname('/siparis/kampanyalar/tumu/cok-karisik-orta-firsati')
// /siparis/kampanyalar/tumu
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы