zoukankan      html  css  js  c++  java
  • js中去除多个特定字符或者替换成其他的字符

    之前遇到一个问题:后台传了一个公式#{unitprice}*#{duration}*#{acreage}到前台去,但是我在前台要显示的是unitprice*duration*acreage,一开始是想办法把#{unitprice}*#{duration}*#{acreage}中的单词和运算符号切割出来再拼接,但是觉得太麻烦,后来查到一个js中的替换方法replace,W3School官网的解释如下:

    replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

    stringObject.replace(regexp/substr,replacement)
    参数 描述
    regexp/substr

    必需。规定子字符串或要替换的模式的 RegExp 对象。

    请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

    replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

    返回值:

    一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

    说明:

    字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。

    如上所述,我想要实现我的功能其实可以把#{unitprice}*#{duration}*#{acreage}中的'#{'和'}'都匹配替换成""就行了,so代码如下:

    { data: "formula",render:function(data){
            var str = data.replace(/#{|}/g,"");
            return str;
    }},

    这样就能实现去除'#{'和'}'的目的,/#{|}/g是一个正则表达式,用来全局匹配data中的'#{'和'}',如果不加g,则只能匹配开头的第一次,结果就会被成unitprice}*#{duration}*#{acreage}了,记录一下。

  • 相关阅读:
    Spark ML参考博客
    Mysql数据库相关
    git clone server certificate verification failed
    GSM网络扫频结果
    USRP E310启用SSH的X11 Forwarding功能
    Win 7 SVN查看日志时出现There has been a problem contacting the server
    OpenWrt修改MAC地址
    NETGEAR WNDR4300路由器tftp方式 刷机
    ubuntu系统中修改hostname
    USRP中sampling rate和master clock rate的区别
  • 原文地址:https://www.cnblogs.com/fenglee594/p/6800349.html
Copyright © 2011-2022 走看看