我在Node.js中有两条路径,例如:
var pathOne = '/var/www/example.com/scripts';
var pathTwo = '/var/www/example.com/scripts/foo/foo.js';
如何从另一个路径中减去一条路径以获得相对路径?
subtractPath(pathTwo, pathOne); // => 'foo/foo.js'
是否有一个模块根据所有必要的URL规则执行此操作,还是我最好使用一些简单的字符串操作?
答案 0 :(得分:13)
根据所有必要的网址规则,不确定您的意思,但似乎您应该只能使用path.relative
;
> var pathOne = '/var/www/example.com/scripts';
> var pathTwo = '/var/www/example.com/scripts/foo/foo.js';
> path.relative(pathOne, pathTwo)
'foo/foo.js'
> path.relative(pathTwo, pathOne)
'../..'
答案 1 :(得分:-1)
您可以使用正则表达式轻松完成此操作:
AppCompatActivity
通过这种方式,您可以强制它位于第二条路径的开头(使用var pathOne = /^\/your\/path\//
var pathTwo = '/your/path/appendix'.replace(pathOne, '');
),如果它不是完全匹配则不会被删除。
你的例子是:
^
它应该返回:var pathOne = /^\/var\/www\/example.com\/scripts\//;
var pathTwo = '/var/www/example.com/scripts/foo/foo.js'.replace(pathOne, '');
。