zoukankan      html  css  js  c++  java
  • 你所不知道的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的方法是不是大有不同呢,其实同理,其他方法和函数也都一样,参数都可以是函数,具体看自己的使用场景了,结合起来,就能达到意想不到的成果,可以解决很多棘手问题。

  • 相关阅读:
    LAMP企业架构读写分离
    docker技术入门(2)
    docker技术入门(1)
    终极实验
    java——并查集 UnionFind
    java——字典树 Trie
    java——线段树 SegmentTree
    java——最大堆 MaxHeap
    java——链表映射 LinkedListMap
    java——数据结构
  • 原文地址:https://www.cnblogs.com/wx3091/p/14786177.html
Copyright © 2011-2022 走看看