一个字符串处理的小算法题
前几天在做一个微博的项目,其中有一个小的算法题,感觉挺有意思,写在这里留给自己,也分享给大伙:
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; };
学而时习之不亦悦乎。