你所不知道的replace()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你所不知道的replace()相关的知识,希望对你有一定的参考价值。

 

差不多的replace,差不多的方法,你也差不多的用...(节奏有点邓紫棋的《差不多姑娘》)

 

众所周知,replace(params1,params2)有俩个参数,第一个为需要替换的原内容,第二个为最终要替换为的内容。

我这里的使用场景,匹配一段文本中所有带有书名号的书名,并将书名单独加标签并区别颜色

params1:其实也可以为一个函数,我们封装一个正则,如下:

regBook() {
    let reg = /《(.*?)》/g
    return reg;
}

将 regBook() 可以作为 params1

params2:其实同样可以作为一个函数,可以在函数中,操作输出你需要的结果:

let str = "这是一段文本,文本中夹杂着《书籍1》,《书籍2》,甚至还有《书籍3》以及其他书籍"
let new_str = str.replace(regBook(), key => {
    let node = \'<span style="color: #409eff">\' + key + "</span>";
    return node;
});
// 选择操作的节点
let element = this.$el.getElementsByClassName("className")[0]
element.innerhtml = new_str;
                   

好了,现在选中的节点中的书籍单独添加了标签,并区别了颜色。

replace的方法是不是大有不同呢,其实同理,其他方法和函数也都一样,参数都可以是函数,具体看自己的使用场景了,结合起来,就能达到意想不到的成果,可以解决很多棘手问题。

以上是关于你所不知道的replace()的主要内容,如果未能解决你的问题,请参考以下文章

你所不知道的 C# 中的细节

《你所不知道的:大神与一般程序猿的区别》读书笔记

JS - 你所不知道的EventLoop

几个你所不知道的技巧助你写出更优雅的vue.js代码

sublime text 你所不知道的12个秘密

你所不知道的冒泡排序