我有一个带有文件名列表的字符串,例如
var string ='1.jpg,2.jpg,3.png,4.jpg,5.webp'
是否可以删除所有未以.jpg结尾的内容,因此输出如下所示:
var newstring ='1.jpg,2.jpg,4.jpg'
答案 0 :(得分:7)
您可以这样写
string
.split(",")
.filter(value => value.endsWith(".jpg"))
.join(",")
答案 1 :(得分:1)
var string = '1.jpg,2.jpg,3.png,4.jpg,5.webp';
var stringArray=string.split(',');
newArray=[];
stringArray.forEach(element => {
if(element.indexOf('.jpg')>-1){ newArray.push(element)}
});
console.log("jpg Array :"+newArray)// output : jpg Array :1.jpg,2.jpg,4.jpg
答案 2 :(得分:0)
您是否尝试过使用可能的正则表达式?借助Mozilla开发人员网络中的以下页面,您也许可以自己找到答案:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
答案 3 :(得分:0)
如果您的字符串始终是逗号分隔的列表,请使用逗号将字符串分割开,这将为您提供一系列项目。然后拼接数组并删除包含.jpg模式的项目。
答案 4 :(得分:0)
var string = '1.jpg,2.jpg,3.png,4.jpg,5.webp';
string.split(',').filter((name)=> name.includes('.jpg')).join(',');
//"1.jpg,2.jpg,4.jpg"