始终删除文件路径的特定部分
Consistently remove a certain part of a file path?
我有一个路径'app/resources/main/assets/templates/path/to/template'
,从路径中始终如一地删除'app/resources/main/assets/templates'
只留下'path/to/template'
的最佳方法是什么?目前,我正在使用splice并使用split连接最后5个数组项,但我可能有一些实例,其中路径可能更长,所以我希望能够可靠地始终删除'app/resources/main/assets/templates'
var path = 'app/resources/main/assets/templates/path/to/template';
path.split('/').splice(-5, 5).join('/');
但如果 path = 'app/resources/main/assets/templates/path/to/subfolder/template' //want only path/to/subfolder/template
只是用Regex的不同视角:
console.log( /templates'/(.*)/.exec(path)[1] );
翻译:直到找到"模板",当找到时捕获它之后的所有内容。
获取以前的文件夹:
var newPaths = /(.*)templates(.*)/.exec( path );
console.log( newPaths[1] + 'templates' );
console.log( 'templates' + newPaths[2] );
您可以将基本路径存储在变量中,然后在每个路径中替换它,如下所示
var BASE_PATH = 'app/resources/main/assets/templates';
var path = 'app/resources/main/assets/templates/path/to/template';
var result = path.replace(BASE_PATH, '');
console.log(result);
与克里格斯相同趋势的答案。如果你想要隔离的模式总是以path/
开头你可以像这样对字符串进行子集
var path = 'app/resources/main/assets/templates/path/to/template';
var pattern = /path'//;
var FirstOccurrence = path.search(pattern);
path = path.substring(FirstOccurrence,path.length);
console.log(path);
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- Javascript:使用绝对路径设置img src
- 用于搜索的聚合物嵌套绑定
- 如何在d3.js中返回路径的y坐标
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- JS文件的路径正在消失
- SAPUI5绑定从组合框控件到快速查看弹出窗口的路径
- 无法绑定 svg 路径元素上的触发器单击
- 如何使用分区统计图的 d3.js 将数据从 .tsv 绑定到 SVG 的路径
- 对将弦数据绑定到色带路径感到困惑
- D3js 将路径“d”属性绑定到数据