我有一个我为Photoshop编写的JSX脚本,在这个脚本的最后,在保存之前,我想检查各种字符串的文件名并删除它们(如果存在的话)。到目前为止我所写的内容只删除了它遇到的数组中的第一个元素 - 在下面的情况下它会击中正则表达式,然后继续保存。
遇到的文件名示例是:" PRNT-AB-Navy Blush Oil托盘绘画-18x24 - REV 27x21.jpg"
我想要的名称是:" AB-Navy Blush Oil托盘画"
所以我需要一点帮助,了解如何删除任何给定文件名中存在的数组的所有元素?
var array = ["PRNT-", "--REV ", "-REV ", ".jpg", ".tif", ".psd", new RegExp(/\d+[x]\d+/g)];
var docName = activeDoc.name
for (var i = array.length; i >= 0; i--) {
var newName = docName.replace(array[i], '');
}
谢谢!
答案 0 :(得分:0)
欢迎使用Stack Overflow。
我还没有确定你的文件名约定,但是这将用你想要的字符串替换字符串,而不必遍历每个元素。
var s = "PRNT-AB-Navy Blush Oil pallet painting-18x24--REV 27x21.jpg";
alert(replace_filename(s));
function replace_filename(str)
{
var rexp = new RegExp(/PRNT-|-\d*x\d*|--REV\s+\d*x\d*|.jpg|.tif.psd/gim);
return str.replace(rexp, "");
}
// AB-Navy Blush Oil pallet painting