@Diversia

Как из строки получить имя файла без расширения?

Есть строка. Она может быть такой:
background-image: url(/images/userpics/private/u123.jpg)

Или такой:
background-image: url(/images/userpics/123.jpg)

В строке может меняться путь и имя файла.

Подскажите пожалуйста, как получить "u123" или "123"? Т.е. имя файла без расширения: от последнего слеша до первой точки.
  • Вопрос задан
  • 193 просмотра
Решения вопроса 2
@StockholmSyndrome
const [, fileName] = str.match(/\/([^/]+)\./);
Ответ написан
Комментировать
hzzzzl
@hzzzzl
regexp = /.+\/(.+)\./

'background-image: url(/images/userpics/123.jpg)'.match(regexp)[1]
// 123
'background-image: url(/images/userpics/private/u123.jpg)'.match(regexp)[1]
// u123


но это реально "до первой точки", если в имени файла будут другие точки то всё сломается
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tempick
1) Находите все функции работы со строками
2) Находите последний символ "/"
3) Находите точку после "/"
4) Обрезаете строку
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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