[英]How do I properly split a url then get remaining parts in javascript?
我在WordPress
的json对象中有一个网址列表。 我想用一个前缀将它们拆分,我可以看到它是https://www.example.co
然后获取其余部分,例如/cat1/aa/bb/cc, /?page_id=8830, /xmlrpc.php
var myUrl = [
{
"URL": "https://www.example.co/cat1/aa/bb/cc",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/cat2/aa",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/cat1/aa/bb/cc/dd/ee",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/cat3/aa/bb/cc/",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/cat2/aa/bb",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/cat1/aa/bb",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/news/why-residents/attachment/san-francisco-blog/feed/",
"Last crawled": "Jun 23, 2019"
},
{
"URL": "https://www.example.co/xmlrpc.php",
"Last crawled": "Jun 19, 2019"
},
{
"URL": "https://www.example.co/?page_id=8830",
"Last crawled": "Jun 18, 2019"
},
]
我当前的代码如下所示:
myUrl.forEach(function(item) {
var urlList = item.URL.split("/");
//console.log(urlList);
console.log("https://www.example.co/" + urlList[3]);
});
上面的代码当前无法从前缀中获取其余部分。
任何帮助是极大的赞赏。 谢谢
如果只想从URL中删除域,则可以使用String.prototype.replace
而不是String.prototype.split
。
例如:
const myUrl = [ { "URL": "https://www.example.co/cat1/aa/bb/cc", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat2/aa", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat1/aa/bb/cc/dd/ee", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat3/aa/bb/cc/", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat2/aa/bb", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat1/aa/bb", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/news/why-residents/attachment/san-francisco-blog/feed/", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/xmlrpc.php", "Last crawled": "Jun 19, 2019" }, { "URL": "https://www.example.co/?page_id=8830", "Last crawled": "Jun 18, 2019" }, ]; const paths = myUrl.map(value => value.URL.replace('https://www.example.co', '')); console.log(paths);
如果您的数据来自不同的URL域,则可以创建URL
对象并获取pathname
和search
。
const paths = myUrl.map(value => new URL(value.URL).pathname + new URL(value.URL).search);
const myUrl = [ { "URL": "https://www.microsoft.co/cat1/aa/bb/cc", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.google.co/cat2/aa", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat1/aa/bb/cc/dd/ee", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat3/aa/bb/cc/", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat2/aa/bb", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/cat1/aa/bb", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/news/why-residents/attachment/san-francisco-blog/feed/", "Last crawled": "Jun 23, 2019" }, { "URL": "https://www.example.co/xmlrpc.php", "Last crawled": "Jun 19, 2019" }, { "URL": "https://www.example.co/?page_id=8830", "Last crawled": "Jun 18, 2019" }, ]; const paths = myUrl.map(value => new URL(value.URL).pathname + new URL(value.URL).search); console.log(paths);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.