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

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

 

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
};

  

 

posted @   西安ZJ  阅读(189)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
阅读排行:
· 回顾我的软件开发经历(1)
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· .NET 9 new features-C#13新的锁类型和语义
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
点击右上角即可分享
微信分享提示