一个字符串处理的小算法题
前几天在做一个微博的项目,其中有一个小的算法题,感觉挺有意思,写在这里留给自己,也分享给大伙:
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; }; |
学而时习之不亦悦乎。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· 回顾我的软件开发经历(1)
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· .NET 9 new features-C#13新的锁类型和语义
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会