首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含多个逗号javascript的拆分URL

包含多个逗号javascript的拆分URL
EN

Stack Overflow用户
提问于 2022-07-10 13:46:51
回答 2查看 58关注 0票数 0

基本上,我尝试拆分包含多个逗号的URL字符串,但结果如下所示:

代码语言:javascript
复制
{
            "photoUrl": [
                "https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19",
                "0",
                "100",
                "100_AL_.jpg",
                "https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12",
                "0",
                "100",
                "100_AL_.jpg",
                "https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0",
                "0",
                "100",
                "100_AL_.jpg"
            ]
        },

这是我的代码,有没有办法解决它.

代码语言:javascript
复制
for (let i = 0; i < data.length; i++) {
                console.log(data[i].genre[i].genre.split(","));
                New_data.push({ photoUrl: data[i].photo[i].photoUrl.split(",") });
                New_data.push({ genre: data[i].genre[i].genre.split(",") });
            }

分割前的URL:

代码语言:javascript
复制
'https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0,0,100,100_AL_.jpg'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-10 14:27:33

由于我们知道url以https://开头,所以我们可以检查每个段并相应地构建url:

代码语言:javascript
复制
const text = 'https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0,0,100,100_AL_.jpg';

const res = {photoUrl: []};

const array = text.split(",");
let url = "";
for(let i = 0; i < array.length; i++)
{
  //if value is does not start with https:// append to current url
  if (array[i].indexOf("https://"))
  {
    url += "," + array[i];
  }
  else
  {
    if (url !== "")
      res.photoUrl.push(url);

    url = array[i];
  }
}

res.photoUrl.push(url);

console.log(res);
代码语言:javascript
复制
.as-console-wrapper{top:0;max-height:unset!important;overflow:auto!important}

票数 1
EN

Stack Overflow用户

发布于 2022-07-10 14:34:45

一个战术解决方案可能是将,的拆分扩展到,http,并在稍后重新添加所需的http

代码语言:javascript
复制
const text = 'https://m.media-amazon.com/images/M/MV5BMTU4MTgxOTQ0Nl5BMl5BanBnXkFtZTgwNDI0Mjk1NDM@._V1_UY100_CR19,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BMTczMTk5MjkwOF5BMl5BanBnXkFtZTgwMDI0Mjk1NDM@._V1_UY100_CR12,0,100,100_AL_.jpg,https://m.media-amazon.com/images/M/MV5BZTFiODA5NWEtM2FhNC00MWEzLTlkYjgtMWMwNzBhYzlkY2U3XkEyXkFqcGdeQXVyMDM2NDM2MQ@@._V1_UX100_CR0,0,100,100_AL_.jpg';

var result = text.split(",http").map(url => {
  if(!url.startsWith("http")) {
    url = "http" + url;
  }
  
  return url;
});

console.log(result);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72928958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档