模板中的占位符替换问题

现在很多开发者都会调用调用人家的接口,使用人家的模板,根据别人提供的参数,我们自动填充模板上的占位符。最近我在也占位符匹配问题,所以现在分享给大家它的具体实现过程。

   比如我们有个模板如下:

你好:{{0}},你的信息将要泄露,请去{{1}}查看你的信息,保证你的新安全。

我们现在要做的是给别人一个接口,假如叫A(Map map);人家传过来的信息如下:

map = {
 "0":"张三先生",
 "1": "www.baidu.com"
}
这时我们是不是要根据map中的字段填充,我们这时就要使用正则表达式去截取我们想要去获取的部分了。下面是我上面例子的正则
[{{]{2}\\w*[{{}}]{2}

下面是我们用map中的字段去填充我们正则匹配的字符串,我直接上代码,不啰嗦。

        Pattern pattern = Pattern.compile("[{{]{2}\\w*[{{}}]{2}");
        Matcher str=pattern.matcher(usr);
        while (str.find()) {                                                                                                     usr=usr.replace(str.group(),map.get(str.group().replace("{{","").replace("}}","")));
             }
        System.out.println(usr);
代码逻辑很简单,这里就不说了。这时我们就实现了字符的替代问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值