Я хотел бы удалить имя файла из пути с помощью JavaScript

используя Javascript, я хотел бы удалить имя файла из конца строки (путь+имя файла), оставив мне только путь к каталогу.

будут ли регулярные выражения идеальными? Или есть более простые способы сделать это с помощью объекта string?

Спасибо за любую помощь!

- - - - ОТВЕТИЛ И ОБЪЯСНИЛ - - -

целью этого кода было открыть finder в каталоге. Данные, которые я смог извлечь, включали имя файла - так как я только пытался чтобы открыть finder (mac)в этом месте, мне нужно было удалить имя файла. Вот что у меня получилось:

var theLayer = app.project.activeItem.selectedLayers[0];
//get the full path to the selected file
var theSpot = theLayer.source.file.fsName;
//strip filename from the path
var r = /[^/]*$/;
var dirOnly = theSpot.replace(r, '');
//use 'system' to open via shell in finder
popen = "open"
var runit = system.callSystem(popen+" "+"""+dirOnly+""");

3 ответов


var urlstr = '/this/is/a/folder/aFile.txt';
var r = /[^\/]*$/;
urlstr.replace(r, ''); // '/this/is/a/folder/'

вы не указали никаких входных данных выборки.

предполагая, что у вас всегда есть каталог, то следующее будет работать. Это занимает все до (но не включая) последнего Слэша.

test = "/var/log/apache2/log.txt";
console.log(test.substring(0, test.lastIndexOf("/")));

вы можете использовать substring и indexOf:

var url = 'asdf/whatever/jpg.image';
url.substring(0, url.lastIndexOf('/'))