繁体   English   中英

如何正确分割网址,然后在javascript中获取剩余部分?

[英]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对象并获取pathnamesearch

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.

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