关于#字符串#的问题,如何解决?

该问题来自社区帖: https://bbs.csdn.net/topics/615246196.为符合问答规范, 该问题经过ChatGPT优化

需要实现的功能是:在字符串msg中匹配到key的部分,将其标红。

示例:

var key = 'SL';

var msg = '你会Sl吗?我今天中午很Good。';

期望结果为:

msg = '你会<span style="color:red">Sl</span>吗?我今天中午很Good。';

可以使用正则表达式和replace方法来实现这个功能:

var key = 'SL';
var msg = '你会Sl吗?我今天中午很Good。';

var regex = new RegExp(key, 'gi');
msg = msg.replace(regex, '<span style="color:red">$&</span>');

console.log(msg);

输出结果为:

你会<span style="color:red">Sl</span>吗?我今天中午很Good。

其中,RegExp对象中的'gi'参数代表全局匹配(g)和不区分大小写(i)。replace方法中的'$&'表示匹配到的字符串。使用HTML的标签来实现文字颜色的标记。