Javascript 通过第三个实例拆分字符串?
我有这个:Javascript 通过第三个实例拆分字符串?,javascript,Javascript,我有这个: var url = "http://www.example.com/level1/level2" 我想按字符/将URL分为3个级别。我试过: var array = url.split('/'); 但结果是: ['http:','','www.example.com','level1','level2'] ['http://www.example.com','','level1','level2'] 我想这样: ['http://www.example.com','level
var url = "http://www.example.com/level1/level2"
我想按字符/
将URL分为3个级别。我试过:
var array = url.split('/');
但结果是:
['http:','','www.example.com','level1','level2']
['http://www.example.com','','level1','level2']
我想这样:
['http://www.example.com','level1','level2']
我尝试了
url.split('/')[2]
,但没有成功。为什么不正确解析它
var url = "http://www.example.com/level1/level2"
var a = document.createElement('a');
a.href = url;
a.protocol; // http:
a.host; // www.example.com
a.pathname; // /level1/level2
var parts = a.pathname.split('/').filter(Boolean);
parts.unshift(a.protocol + '//' + a.host); // ['http://www.example.com','level1','level2'];
@阿迪内奥
非常感谢你!您的答案非常简单明了(我不知道解析URL的方法),但您的答案中有一个小错误。。。(真小:))
您的输出是:
['http:','','www.example.com','level1','level2']
['http://www.example.com','','level1','level2']
因此,要获得我的输出(3个级别):
使用parts.shift()在方法unshift()
之前添加code>,这样输出为真:
['http://www.example.com','level1','level2']
如果允许我纠正你,请原谅:)
如果我错了,请告诉我:)
再次感谢 您不想在第三个实例上拆分,而是用JavaScript解析URL。我建议您查看一下,但没有注意到,这是因为URL是/level1/level2
,因此在/
上拆分时,第一个/
前面的部分有一个条目,该条目为空。另一种解决方法是修剪/
路径名开始和结束处的/
,或者将其过滤掉,我将其添加到答案中