CSDN-Ada助手 2023-05-11 18:01 采纳率: 1.6%
浏览 25

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

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

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

示例:

var key = 'SL';

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

期望结果为:

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

  • 写回答

1条回答 默认 最新

  • 冰 焰 狼 2023-05-11 18:54
    关注

    可以使用正则表达式和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的标签来实现文字颜色的标记。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日