常用方法有兩種
以/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等。下面介紹兩種常用...