从完整路径Javascript中提取部分路径
如何提取从完整路径Javascript中提取部分路径,javascript,angularjs,webpack,Javascript,Angularjs,Webpack,如何提取 pathB/pathC/pathD 从 欢迎任何第三方库或纯javascript 在某些Web包加载程序(如ng cache loader)中,我发现它们可以通过指定“/”来剥离路径的中间部分 从ng缓存加载程序文档: 前缀可以去除实际目录名(使用//): 在ng缓存加载程序源代码中找不到任何处理路径的代码。 也许我可以用和他们一样的方法剥离路径的中间部分?正如mzografski提到的那样,我把你的问题当作字符串解析来处理。你可以检查一下这个工作状态 代码: $scope.ToEx
pathB/pathC/pathD
从
欢迎任何第三方库或纯javascript
在某些Web包加载程序(如ng cache loader)中,我发现它们可以通过指定“/”来剥离路径的中间部分
从ng缓存加载程序文档:
前缀可以去除实际目录名(使用//):
在ng缓存加载程序源代码中找不到任何处理路径的代码。
也许我可以用和他们一样的方法剥离路径的中间部分?正如mzografski提到的那样,我把你的问题当作字符串解析来处理。你可以检查一下这个工作状态 代码:
$scope.ToExtract = 'pathB/pathC/pathD';
$scope.test = 'pathA/pathB/pathC/pathD/data.json';
$scope.extract = function(partToExtract, fullPath) {
var index = fullPath.indexOf(partToExtract);
return(fullPath.substring(0, index) + fullPath.substring(index+partToExtract.length+1, fullPath.length));
};
$scope.extract($scope.ToExtract, $scope.test);
你将在什么样的环境下做这件事?基本上,我会用JS中可用的字符串对象方法进行字符串解析,或者使用正则表达式。您如何知道需要提取的部分从何处开始,以及如何知道它从何处结束?是的,我总是需要第一个/和最后一个/之间的一切,我已经发布了答案
require('ng-cache?prefix=public/*//*/templates!./far/far/away/path/to/myPartial.html')
// => ng-include="'public/far/path/templates/myPartial.html'"
$scope.ToExtract = 'pathB/pathC/pathD';
$scope.test = 'pathA/pathB/pathC/pathD/data.json';
$scope.extract = function(partToExtract, fullPath) {
var index = fullPath.indexOf(partToExtract);
return(fullPath.substring(0, index) + fullPath.substring(index+partToExtract.length+1, fullPath.length));
};
$scope.extract($scope.ToExtract, $scope.test);
var sep = '/';
var path = 'pathA/pathB/pathC/pathD/data.json';
path = path.split(sep);
path.shift();
path.pop();
path = path.join(sep);
// log pathB/pathC/pathD
console.log(path);