基本上,我尝试拆分包含多个逗号的URL字符串,但结果如下所示:
{
"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"
]
},这是我的代码,有没有办法解决它.
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:
'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'发布于 2022-07-10 14:27:33
由于我们知道url以https://开头,所以我们可以检查每个段并相应地构建url:
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);.as-console-wrapper{top:0;max-height:unset!important;overflow:auto!important}
发布于 2022-07-10 14:34:45
一个战术解决方案可能是将,的拆分扩展到,http,并在稍后重新添加所需的http。
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);
https://stackoverflow.com/questions/72928958
复制相似问题