如果我有一个文件路径,例如:
var/www/parent/folder
如何删除要返回的最后一个文件夹:
var/www/parent
文件夹可以有任何名称,我很高兴使用正则表达式。
提前致谢。
答案 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('/'));
答案 3 :(得分:0)
这本身并不是 split
的专门版本,但您可以像这样用 path.sep
拆分:
import path from 'path';
filePath.split(path.sep);