繁体   English   中英

第三个斜杠后分割字符串

[英]Split String after third slash

考虑以下字符串"/path1/path2/file.png" 是否可以通过正则表达式提取"/path1/path2 ?如果可以,您可以提供一个示例以及它的工作方式吗?

我会这样:

var str = '/path1/path2/file.png';

var regex = /(?:\/.*\/)(.*)/;
var filename = regex.exec(str)[1];
console.log(filename);

JSFiddle: https ://jsfiddle.net/Ldpoqf0n/1/

这是不使用正则表达式的另一种方式:

var parts = str.split('/');
console.log(parts[parts.length - 1]);

 let str = '"/path1/path2/file.png"'; console.log(str.replace(/\\/\\w+.\\w+"/, '')); 

尝试这个

 const src = '/path1/path2/file.png' const getFirstPart = src => (src.match(/\\/.*?\\/.*?(?=\\/)/) || [])[0] console.log(getFirstPart(src)) 

使用正则表达式:

 var path = "/path1/path2/file.png"; var patt = new RegExp("\\/.*?\\/[^\\/]*"); var subpath = patt.exec(path)[0]; console.log(subpath) 

没有正则表达式:

 function getSubpath(path, subpathLevel) { var arr = path.split("/"); var subpath = ""; for(var i = 0; i < subpathLevel && i < arr.length; i++) subpath += "/" + arr[i+1]; return subpath; } console.log(getSubpath("/path1/path2/file.png", 2)); 

subpathLevel变量中,您可以设置要考虑的斜杠数量(在示例中为2)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM