JS自定义字符串格式化函数

python的字符串格式化

test = 'name: {name} age: {age}'
print(test.format(name='zq',age=22))
输出: name: zq age: 22

JS里没有这种方式,但可以自定义一个类似的方法

<script>
    //自定义字符处理函数---- 字符串替换格式化
    String.prototype.format = function (kwargs) {
        console.log(this) // this表示调用这个函数的字符串对象 String {"nihao:{name}-{age}"}
        // 正则表达式是在/ /内表示, 正则后的g表示去this里面匹配所有的字符(执行全局匹配(查找所有匹配而非在找到第一个匹配后停止))  i表示执行对大小写不敏感的匹配  m表示执行多行匹配
        var ret = this.replace(/\{(\w+)\}/g,function (k,m) { //k表示匹配到的字符串,m表示匹配到的分组里的值,在正则中用()表示一个分组
            console.log(k,m);  //{name} name
            return kwargs[m]  // 把匹配到的字符串用参数的值替换
        });

        return ret;  //把替换完的字符串返回
    };
    text = "nihao:{name}-{age}";
    result = text.format({'name':'zq','age':21});
    console.log(result);  // nihao:zq-21
</script>

 

转载于:https://www.cnblogs.com/zq8421/p/10629941.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值