java正则表达式解析短信模板

/*** */
package testJava.java;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** @author xxx.sjtu* @function* @date 2016年4月12日* @version*/
public class ReplaceTest {/*** @param args*/public static void main(String[] args) {String tempalteContent = "您的“$CarBrand$”(车牌$CarPlateNum$)已经完成租用(订单号:$orderNo$)。本次租金收益$RentIncome$元,$ServiceExpense$$ServiceExpenseProxy$$You2RenterAdjust$$Renter2YouAdjust$$HardwareDeposit$$ownerTransDebt$$TotalIncome$在1个工作日后结算至您设置的银行卡中。您可在App车主收益页面查看详情";Map contentParamMap = new HashMap();contentParamMap.put("CarBrand", "奥迪");contentParamMap.put("CarPlateNum", "沪A0001");contentParamMap.put("orderNo", "1245221158");contentParamMap.put("RentIncome", "2000");contentParamMap.put("ServiceExpense", "平台服务费100元,");Scanner sc = new Scanner(tempalteContent);StringBuffer buf = new StringBuffer();try{Pattern p = Pattern.compile("[$]([^$]*?)[$]");while (sc.hasNext()) {System.out.println(sc.toString());Matcher m = p.matcher(sc.nextLine());while (m.find()) { //查找并替换参数System.out.println(m.group(1));//从map中根据key获取值m.appendReplacement(buf, contentParamMap.get(m.group(1)) != null ? contentParamMap.get(m.group(1)).toString() : "");}m.appendTail(buf);}
//            if(StringUtils.isEmpty(buf.toString())){
//                buf.append(tempalteContent);
//            }}catch(Exception e){
//            logger.error("替换短信模板内容报错!",e);
            e.printStackTrace();}finally{sc.close();}System.out.println("buf=" + buf);}}

 

转载于:https://www.cnblogs.com/simpledev/p/5385079.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部