一个字符串处理的小算法题

前几天在做一个微博的项目,其中有一个小的算法题,感觉挺有意思,写在这里留给自己,也分享给大伙:

var str  = “[a1]教师节感谢大家[b2]”;

如何把微博评论中的所有表情图标分离出来替换成对应的图片。

友情提示:"[]“中的字母对应image文件夹名字,数字代表图片名字。

var changeStrToGifFun = function(str){
    var content = str;
    var gifs = [];
    while(str.indexOf("[") > -1){
        var a = str.indexOf("[");
        var b = str.indexOf("]");
        gifs.push(str.substring(parseInt(a+1),b));
        str = str.substring(parseInt(b+1));
    }
    var dir = ['mr','gnl','lxh','bzmh'];
    var str = {
         "a" : 0,
         "b" : 1,
         "c" : 2,
         "d" : 3
    };
    for(var s = 0,len = gifs.length;s < len;s++){
        var jpg = "<img src=../images/" + dir[str[gifs[s].substring(0,1)]] + "/"+
            parseInt(gifs[s].substring(1,gifs[s].length) - 1) + ".gif />";
        content = content.replace("["+gifs[s]+"]",jpg);
    }
    return content;
};

  

学而时习之不亦悦乎。
原文地址:https://www.cnblogs.com/xianZJ/p/4836931.html