• 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}了,记录一下。

  • 相关阅读:
    2049
    2046 ACM 数学
    1290 ACM 数学
    2017 ACM 字符串的本质
    1171 Big Event in HDU 01背包
    2045 数学:排列组合
    git命令(版本控制之道读书笔记)
    mysql:赋予用户权限、查看及修改端口号
    Linux系统的命令别名功能(转)
    回到上次目录、历史命令查找快捷方式及执行时间显示设置、查看系统版本
  • 原文地址:https://www.cnblogs.com/fenglee594/p/6800349.html
Copyright © 2020-2023  润新知