JS split() строки по определенному посднему показателю?

Подскажите пожалуйста как получить чистые значения адрессов изображений без остатков префиксов? Приведу пример

var a = "image-sdf-ht-70x70.jpg";
var b = "ho-ho-120x130.png";
var c = "myImage-140x140.svg"

//// a = "image-sdf-ht.jpg";
/// b = "ho-ho.png";
/// c = "myImage.svg"

Как убрать последний хвост у адресов как в примере ? Знак - как разделитель может всречаться в самой функции


Ответы (1 шт):

Автор решения: vp_arth

все что известно, что это до точки и что это от последнего дефиса

let a = "image-sdf-ht-70x70.jpg";
let b = "ho-ho-120x130.png";
let c = "myImage-140x140.svg";

console.log(a, b, c);
[a, b, c] = [a, b, c].map(str => str.replace(/-[^-.]+(\.[^.]+)$/, '$1'));
console.log(a, b, c);


// a = "image-sdf-ht.jpg";
// b = "ho-ho.png";
// c = "myImage.svg"

→ Ссылка