如何在javascript中分解url
我想删除“/first”字符串并删除url末尾的_1_1_1如何在javascript中分解url,javascript,node.js,Javascript,Node.js,我想删除“/first”字符串并删除url末尾的_1_1_1 /foo/blah/tree/first/image_pack-1-1-1 我需要的是 /foo/blah/tree/image_pack 这是我所做的,但没有如我所愿。我被困在某个地方 var fileUrl = "/foo/blah/tree/first/image_pack-1-1-1"; var output = fileUrl.split(/[/ ]+/).pop(); var explode = output.spli
/foo/blah/tree/first/image_pack-1-1-1
我需要的是
/foo/blah/tree/image_pack
这是我所做的,但没有如我所愿。我被困在某个地方
var fileUrl = "/foo/blah/tree/first/image_pack-1-1-1";
var output = fileUrl.split(/[/ ]+/).pop();
var explode = output.split("-");
console.log(explode[0]);
每个人心中的问题都是:这有多频繁?
first
是一个变量吗?1-1-1-1
是否总是在末尾?如果两者都是常数,那么很容易:
fileUrl.split('-')[0].replace('first/','')
但否则,您最好为它构造一个函数:
function fileUrl(url, replacements){
// Allow for replacements to be empty
replacements = replacements || [];
// Split at the `-` - a more versatile way would be too complex here.
url = url.split('-')[0];
for(var i = 0; i < replacements.length; i++){
url = url.replace(replacements[i], '');
}
// Remove any double slashes that have accumulated
while(url.indexOf('//').length >= 0) url.replace('//','/');
return url;
}
函数文件url(url,替换){
替换=替换| |[];
url=url.split('-')[0];
对于(变量i=0;i=0)url.replace(“/”,“/”);
返回url;
}
document.write(fileUrl('/foo/blah/tree/first/image_-pack-1-1-1',['first'])代码>您喜欢这项工作吗
var fileUrl=“/foo/blah/tree/sometrandomThingRemovedHere/image_pack-1-1-1”;
var newUrl1=fileUrl.split('-')[0].split('/');
console.log(newUrl1);
var finalUrl=“”;
for(var i=0;i 警惕(最终)代码>不确定您是否可以在一行中实际到达那里。这个怎么样。它根据第一个破折号拆分,根据反斜线拆分第一个元素,然后直接拼接第四个元素,不管它叫什么。然后再把它连接起来
var output = fileUrl.split('-')[0].split('/');
output.splice(4, 1);
output = output.join('/'); // /foo/blah/tree/image_pack
说真的,它只是fileUrl.split('-')[0]
…不,它不是。再读一遍这个问题。/第一个/是常数吗?会不会是/秒/?会不会/first
和-1-1-1
总是一样?@something来吧。不要打架。谢谢你的回答,但是第一个一直在变,而且-1-1-1数字在变,但是他们的位置总是一样的@somethinghere@Profstyle这就是为什么我写了一个函数,允许首先
随时更改。只需填写正确的字符串,它就会删除您想要删除的任何内容。谢谢@something此处,但安迪的解决方案对我更有效,谢谢您的帮助。非常感谢@Andy,这是现成的。顺致敬意,
var output = fileUrl.split('-')[0].split('/');
output.splice(4, 1);
output = output.join('/'); // /foo/blah/tree/image_pack