Как сломать путь к изображению, чтобы вернуть только имя изображения без расширения - PullRequest
0 голосов
/ 27 октября 2018

У меня есть URL изображения "https://wallpaper.wiki/wp-content/uploads/2017/04/wallpaper.wiki-Free-Images-Background-PC-PIC-WPD006550.jpg"

Я хочу удалить базовый путь (https://wallpaper.wiki/wp-content/uploads/2017/04/) и расширение файла (.jpg), а должно быть возвращено wallpaper.wiki-Free-Images-Background-PC-PIC-WPD006550

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Вы также можете использовать эту функцию, чтобы получить имя без регулярных выражений

function getname(url){
       url = url.split("?")[0];

       url= url.substring(url.lastIndexOf("/")+1)

       return url.substring(0,url.lastIndexOf("."))
}

var fullurl = "https://wallpaper.wiki/wp-content/uploads/2017/04/wallpaper.wiki-Free-Images-Background-PC-PIC-WPD006550.jpg";

alert(

getname(fullurl)
)
0 голосов
/ 27 октября 2018

Вы можете использовать это регулярное выражение и захватить содержимое группы 1, которое выберет только имя файла в URL-адресе, исключая расширение,

https?:\/\/.*\/([\w.-]+)\.\w+

Объяснение:

https?:\/\/.*/ --> captures the url from start and stops at last occurrence of /
([\w.-]+) --> captures the filename
\.\w+ --> captures the dot and extension

Демонстрация, https://regex101.com/r/eralSI/1

Вот код JavaScript для достижения того же,

var myString = "https://wallpaper.wiki/wp-content/uploads/2017/04/wallpaper.wiki-Free-Images-Background-PC-PIC-WPD006550.jpg";
var myRegexp = /https?:\/\/.*\/([\w.-]+)\.\w+/g;
var match = myRegexp.exec(myString);
console.log(match[1]);
...