Как получить имя папки и файла по полному пути?

Есть путь до файла, например:

C:\Users\Nastya\Desktop\Project\app\views\pages\button.html
C:\Users\Nastya\Desktop\Project\app\views\pages\gallery.html
C:\Users\Nastya\Desktop\Project\app\views\pages\heading.html
C:\Users\Nastya\Desktop\Project\app\views\pages\index.html
C:\Users\Nastya\Desktop\Project\app\views\pages\paragraph.html
C:\Users\Nastya\Desktop\Project\app\views\pages\table.html
C:\Users\Nastya\Desktop\Project\app\views\pages\blog\index.html
C:\Users\Nastya\Desktop\Project\app\views\pages\blog\cat\index.html

Как получить:

/button/
/gallery/
/heading/
/
/paragraph/
/table/
/blog/
/blog/cat/

Не могу сообразить, что сделать дальше?

    function resolve(paths) {
        var ret = path.dirname(paths);
        var base = path.basename(paths, path.extname(paths));
        if (base != 'index') ret = path.join(ret, base);
        return ret;
    }

Получается:

C:\Users\Nastya\Desktop\Project\app\views\pages\button
C:\Users\Nastya\Desktop\Project\app\views\pages\gallery
C:\Users\Nastya\Desktop\Project\app\views\pages\heading
C:\Users\Nastya\Desktop\Project\app\views\pages
C:\Users\Nastya\Desktop\Project\app\views\pages\paragraph
C:\Users\Nastya\Desktop\Project\app\views\pages\table
C:\Users\Nastya\Desktop\Project\app\views\pages\blog
C:\Users\Nastya\Desktop\Project\app\views\pages\blog\cat

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

Автор решения: Сергей Корешков

Можешь использовать RegEx, чтобы выбрать часть после \pages\

const regEx = /[\s\S]*\\pages\\([\S]*).html/;

function resolve(paths) {
    const result = regEx.exec(paths);
    if (result && result.length >= 2) {
            return result[1].replace('index', '');
    }
    return null;
}
→ Ссылка