拆分文件夹路径的字符串

Split string of folder path

本文关键字:字符串 路径 文件夹 拆分      更新时间:2023-09-26

如果我有一个文件路径,例如:

var/www/parent/folder

我将如何删除要返回的最后一个文件夹:

var/www/parent

文件夹可以有任何名称,我很高兴使用正则表达式。

提前谢谢。

使用split->slice->join函数:

"var/www/parent/folder".split( '/' ).slice( 0, -1 ).join( '/' );

使用以下正则表达式匹配最后一个目录部分,并将其替换为空字符串。

/'/[^'/]+$/

'var/www/parent/folder'.replace(/'/[^'/]+$/, '')
// => "var/www/parent"

更新

如果路径以 / 结尾,则上述表达式将与路径不匹配。如果要删除此类路径的最后一部分,则需要使用 folloiwng 模式(以匹配可选的最后/):

'var/www/parent/folder/'.replace(/'/[^'/]+'/?$/, '')
// => "var/www/parent"

这不是split本身的专用版本,但您可以按path.sep进行拆分,如下所示:

import path from 'path';
filePath.split(path.sep);

如果它始终是您要删除的最后一个文件夹,最简单的方法是使用 substr()lastIndexOf()

var parentFolder = folder.substr(0, folder.lastIndexOf('/'));

JSFIDDLE 示例