84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
var str="测试~![闭嘴][憨笑]";需要将内容中的带[]中的字符串全部替换为:文字:的这种格式。实现效果为var str="测试~!:闭嘴::憨笑:";有大神指点下么 感谢其实是处理后端传过来的中文表情转化成可解析的图片表情的 感谢大家的答案 非常有帮助
var str="测试~![闭嘴][憨笑]";
var str="测试~!:闭嘴::憨笑:";
光阴似箭催人老,日月如移越少年。
不知道你对文字的定义是什么,姑且当成是非空且不含[、]字符的任意字符吧。只匹配成对的[],不匹配单独字符或者中间没有文字的配对。
[
]
[]
"测试~![闭嘴][憨笑]][]".replace(/\[([^\[\]]+)\]/g,':$1:') // result: // "测试~!:闭嘴::憨笑:][]"
哪里有 [文字] ?
str.replace(/[\[\]]/g,":")
"测试~![闭嘴][憨笑]".replace(/[\[\]]/g,':')
"测试~闭嘴".replace(/[[\u4e00-\u9fa5]+/g,":$&:") ":测试:~:闭嘴:"
不知道你对文字的定义是什么,姑且当成是非空且不含
[
、]
字符的任意字符吧。只匹配成对的
[]
,不匹配单独字符或者中间没有文字的配对。哪里有 [文字] ?