你所不知道的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的方法是不是大有不同呢,其实同理,其他方法和函数也都一样,参数都可以是函数,具体看自己的使用场景了,结合起来,就能达到意想不到的成果,可以解决很多棘手问题。
标签:params1,regBook,replace,let,str,书籍,知道 来源: https://www.cnblogs.com/wx3091/p/14786177.html