JS檔名和路徑擷取分割

2021-10-05 21:43:22 字數 1515 閱讀 4100

常用方法有兩種

以/users/lz/project/test.txt為例分別介紹一下

方法一、

fullpath = '/users/lz/project/test.txt';

pos = fullpath.lastindexof('/');

filename = fullpath.substr(pos+1);

console.log(filename);

filepath = fullpath.substr(0,pos);

console.log(filepath);

但是這種方法有乙個缺點是,如果遇到windows路徑字串就會一臉矇圈,需要區分平台型別採取不同的編碼策略,比如:

// windows平台路徑

fullpath = 'c:\\project\\test.txt';

pos = fullpath.lastindexof('\\');

filename = fullpath.substr(pos+1);

console.log(filename);

filepath = fullpath.substr(0,pos);

console.log(filepath);

這樣處理的話就需要知道平台型別,有沒有可以不需要判斷平台型別的方法呢?答案是有的。我們在只需要在操作之前就行格式化處理。 

// 自己宣告乙個replaceall方法

string.prototype.replaceall = function(s1, s2)

fullpath = '/users/lz/project/test.txt';

filename = 'test.txt';

fullpath = fullpath.replaceall('/', '\\');

console.log(fullpath);

pos = fullpath.lastindexof('\\');

filename = fullpath.substr(pos+1);

console.log(filename);

filepath = fullpath.substr(0,pos);

console.log(filepath);

方法二、

如果你已經知道檔名,那就更好辦了。

fullpathmac = '/users/lz/project/test.txt';

fullpathwin = 'c:\\project\\test.txt';

filename = 'test.txt';

filepath = fullpathmac.replace(filename, '');

console.log(filepath);

filepath = fullpathwin.replace(filename, '');

console.log(filepath);

C 分割檔案路徑中的檔名與路徑

int lastindex filepath.lastindexof 的意思是,乙個是轉義,乙個是代表斜槓 string pfilepath filepath.substring 0,lastindex 檔案路徑 string pfilename filepath.substring lastind...

獲取檔名和路徑函式

delphi 獲取檔名路徑 2011 10 03 9 26 獲取檔名和路徑函式 extractfilename 從檔名中抽取不含路徑的檔名 extractfilepath 從檔名中抽取路徑名 extractfiledir 從檔名中抽取目錄名 extractfileext從檔名中抽取擴充套件命 例子 ...

shell擷取檔名和檔案目錄

很多時候在使用linux的shell時,我們都需要對檔名或目錄名進行處理,通常的操作是由路徑中提取出檔名,從路徑中提取出目錄名,提取檔案字尾名等等。例如,從路徑 dir1 dir2 file.txt中提取也檔名file.txt,提取出目錄 dir1 dir2,提取出檔案字尾txt等。下面介紹兩種常用...