拆分文件夹路径的字符串

时间:2014-12-16 16:48:43

标签: javascript regex string

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

var/www/parent/folder

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

var/www/parent

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

提前致谢。

4 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:9)

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

/\/[^\/]+$/

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

<强>更新

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

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

答案 2 :(得分:2)

如果您想要摆脱 last 文件夹,最简单的方法是使用substr()lastIndexOf()

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

jsfiddle example

答案 3 :(得分:0)

这本身并不是 split 的专门版本,但您可以像这样用 path.sep 拆分:

import path from 'path';

filePath.split(path.sep);