繁体   English   中英

Javascript-删除部分字符串。

[英]Javascript - Removing part of string.

我有一个脚本,该脚本从表单上的文件输入中获取文件名,并在删除了一些不需要的细节后将其放入文本字​​段。

我上传的所有文件都将标有关键字

请注意,这是针对Chrome扩展程序的,因此不需要X浏览器支持。

var filename = $("uploaded_data").val().toLowerCase();

filename = filename.replace(/_/g, " ").replace(/-/g, " ").replace("c:\\fakepath\\", "");

    type_index[1] = filename.indexOf("red"); 
    type_index[2] = filename.indexOf("blue");
    type_index[3] = filename.indexOf("green");
    type_index[4] = filename.indexOf("purple");
    type_index[5] = filename.indexOf("magenta");

    for (i=0 ; i > -1 ; i++ ) {
        if (type_index[i] > -1)
        {

        filename_final = filename.substring(type_index[i]);
        break;
        }
    }

$("#material_title").val(filename_final);

现在此代码可以正常工作,但是,我不希望颜色成为文件名的一部分。 例如,如果输入文件名为“ test_red_name_low.jpg”,则文本字段应为“ name low.jpg”。 当前,以上代码输出“红色名称low.jpg”。 其他时间,文件名可能是“ this_is_a_test-blue_happy.jpg”,应输出“ happy.jpg”。

type_index数组最终将包含大量值,因此替换将是一个漫长的过程。

有什么建议可以解决这个问题吗?

这个正则表达式将做到这一点。

// add as many colors you like here. 
var colors = ['red','green', 'blue', 'magenta', 'purple'];
filename = filename.replace(/-|_|c:\\fakepath\\/g,' ')
    .replace(new RegExp("("+colors.join("|")+")", "g"), " ")
    .replace(/.*  /,'').trim()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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