原字符串:
String oldMessage = "【催缴通知】您好,户号:{户号},地址:{物业全名},截止{当前日期}," +
"合计欠费:{欠费金额}元,含滞纳金:{滞纳金}元,请及时缴费,以免产生更多滞纳金" +
"以及影响供水服务,如已缴费请忽略。如有疑问,请咨询:{水务电话}!【智慧水务】";
System.out.println("原信息: " + oldMessage);
模拟一个实体类对字符串内计划替换的参数赋值:
Dto dto = new Dto();
dto.setUserCode("00456");
dto.setProperty("印象城市-北区-1001室");
dto.setNow("6月13日");
dto.setAmount("565.50");
dto.setLateFee("5.50");
dto.setPhone("0888-88866888");
借助append, replace 方法,进行目标参数替换:
StringBuilder newMessage = new StringBuilder()
.append(oldMessage.replace("{户号}", dto.userCode)
.replace("{物业全名}", dto.property)
.replace("{当前日期}", dto.now)
.replace("{欠费金额}", dto.amount)
.replace("{滞纳金}", dto.lateFee)
.replace("{水务电话}", dto.phone)
);
System.out.println("新信息: " + newMessage);
打印输出结果: