当前位置: 首页 > news >正文

摸版值${code}替换

正则匹配 摸版值替换 如短信 邮件 等
下面已短信为例:

publicclassSmsTemplateTest{/** * 正则表达式 匹配${值} */privatestaticfinalStringREGEX="\\$\\{(.*?)\\}";publicstaticvoidmain(String[]args){Stringmsg="尊敬的用户${name},您的验证码是${code},5分钟内有效";Map<String,String>map=newHashMap<>(2);map.put("name","张三");map.put("code","886699");//替换方法Stringresult=render(msg,map);System.out.println(result);// 输出:尊敬的用户张三,您的验证码是886699,5分钟内有效}/** * 短信模板替换 * * @param template 短信模板 * @param params 填充参数 * @return 替换完成的短信内容 * <p> * matcher.find() 找字符串中任意一处符合正则的片段,可循环遍历所有匹配 * matcher.matches() 整串必须完全匹配正则,只能判断一次 * </> */publicstaticStringrender(Stringtemplate,Map<String,String>params){if(template==null||params==null){returntemplate;}//编译正则表达式,生成Pattern对象Patternp=Pattern.compile(REGEX);//将正则和待处理字符串绑定,生成匹配器MatcherMatchermatcher=p.matcher(template);StringBuffersb=newStringBuffer();//循环查找所有 ${xxx}while(matcher.find()){//group(0) = 变量名 ${name} / ${code}//group(1) = 变量名 name / codeStringkey=matcher.group(1);// 有值就替换,无值留空Stringval=params.getOrDefault(key,"");// appendReplacement 自动拼接前面内容+替换值matcher.appendReplacement(sb,Matcher.quoteReplacement(val));}// 拼接最后一段剩余文本matcher.appendTail(sb);returnsb.toString();}}
http://www.jsqmd.com/news/1110591/

相关文章:

  • Linux服务器入侵检测实战:命令行应急响应与安全排查指南
  • 大模型架构中的抽象层归零:语义路由层的消融与内化
  • Windows系统文件BarcodeProvisioningPlugin.dll丢失找不到问题解决
  • GPT-4参数量与激活率的真相:MoE架构下的工程权衡
  • OCR噪声如何系统性拖垮RAG效果:从视觉重建到可信问答
  • AI模型能力评估与发布策略:从Claude 3到Llama.cpp实践解析
  • Claude 2026语音编程与远程协作工作流实战指南
  • Mythos门控推理:多步逻辑闭环与跨文档一致性验证技术解析
  • Claude Code本地化AI编码工作流实战指南
  • 百考通AI 10分钟生成逻辑闭环导师认可的专业开题报告
  • PicView:一款快速、免费可完美替代Windows自带的图片查看工具
  • 炭黑在氮化铝中的应用:性能提升与工艺优化
  • 【AI大模型进阶】大模型能推理吗?用“鸡兔同笼”测试各大模型的智商
  • 商圈下删除店铺(2)
  • 如何轻松实现夸克网盘智能管理:免费自动化工具完整指南
  • 循环工程(loop engineering):为AI编码智能体设计系统的终极指南
  • 解决Mammoth.js转换Word文档时的“children属性未定义“错误:终极指南
  • 上下文工程:重构大模型人机协作的系统化方法论
  • ChatGPT推理全流程拆解:从输入到输出的7个关键技术环节
  • 用GPT-4解释大模型神经元:可验证功能描述的实践范式
  • cursor续杯工具2026年7月
  • LangChain核心原理与企业级RAG落地实践
  • KEAR模型解析:常识推理AI的技术原理与工程实践
  • 国产PLM系统价格费用解析:从几万到上百万,钱到底花在哪?
  • Gemini 3五大范式突破:从聊天接口到认知代理的跃迁
  • 界面控件DevExpress v26.1帮助文档大全(CHM版本)
  • 终极免费指南:如何轻松备份和导出微信聊天记录
  • 【MATLAB】动态拓扑无人机集群协同控制仿真
  • Java基础(23) | SQL 进阶语法:常用函数、CTE 与窗口函数
  • 如何5分钟快速上手FOFA客户端:网络安全专家的完整高效工具指南