全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java用正则表达式实现${name}形式的字符串模板实例

前言

相信大家可能曾遇到过这种情况,在开发中类似站内信的需求时,我们经常要使用字符串模板,比如

尊敬的用户${name}。。。。

里面的${name}就可以替换为用户的用户名。

下面使用正则表达式简单实现一下这个功能:

/**
  * 根据键值对填充字符串,如("hello ${name}",{name:"xiaoming"})
  * 输出:
  * @param content
  * @param map
  * @return
  */
 public static String renderString(String content, Map<String, String> map){
  Set<Entry<String, String>> sets = map.entrySet();
  for(Entry<String, String> entry : sets) {
   String regex = "\\$\\{" + entry.getKey() + "\\}";
   Pattern pattern = Pattern.compile(regex);
   Matcher matcher = pattern.matcher(content);
   content = matcher.replaceAll(entry.getValue());
  }
  return content;
 }

map里存储了键值对,然后获取键值对的集合,遍历集合进行对字符串的渲染

实例测试:

@Test
 public void renderString() {
  String content = "hello ${name}, 1 2 3 4 5 ${six} 7, again ${name}. ";
  Map<String, String> map = new HashMap<>();
  map.put("name", "java");
  map.put("six", "6");
  content = StringHelper.renderString(content, map);
  System.out.println(content);
 }

有两个变量需要替换,namesix,对应的值分别为Java和6,同时name调用了两次。

结果:

hello java, 1 2 3 4 5 6 7, again java. 

总结

以上就是关于Java利用正则表达式实现${name}形式的字符串模板的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# java  # 字符串模板  # java字符串正则表达式  # 字符串模板替换  # Java正则表达式循环匹配字符串方式  # java 正则表达式获取两个字符中间的字符串方法  # Java通过正则表达式获取字符串中数字的方法示例  # java使用正则表达式查找包含的字符串示例  # Java正则表达式判断字符串中是否包含中文示例  # Java使用正则表达式判断字符串是否以字符开始  # Java字符串 正则表达式详解  # Java使用正则表达式截取重复出现的XML字符串功能示例  # Java正则表达式匹配字符串并提取中间值的方法实例  # 键值  # 站内  # 遍历  # 两次  # 这种情况  # 正则表达式  # 分别为  # 要使  # 遇到过  # 就可以  # 有两个  # 有疑问  # String  # public  # return  # xiaoming  # map  # static  # param 


相关文章: 邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  建站之星收费标准详解:套餐费用及年费价格表一览  如何在企业微信快速生成手机电脑官网?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  详解jQuery中基本的动画方法  网站专业制作公司有哪些,做一个公司网站要多少钱?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  大连 网站制作,大连天途有线官网?  如何注册花生壳免费域名并搭建个人网站?  如何在阿里云高效完成企业建站全流程?  微信小程序 五星评分(包括半颗星评分)实例代码  Bpmn 2.0的XML文件怎么画流程图  如何选择美橙互联多站合一建站方案?  如何选择高效便捷的WAP商城建站系统?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建站之星导航配置指南:自助建站与SEO优化全解析  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  建站之星客服服务时间及联系方式如何?  如何通过PHP快速构建高效问答网站功能?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何通过宝塔面板实现本地网站访问?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  家庭建站与云服务器建站,如何选择更优?  中山网站推广排名,中山信息港登录入口?  建站之星备案流程有哪些注意事项?  高端企业智能建站程序:SEO优化与响应式模板定制开发  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Swift中swift中的switch 语句  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  威客平台建站流程解析:高效搭建教程与设计优化方案  家具网站制作软件,家具厂怎么跑业务?  香港服务器WordPress建站指南:SEO优化与高效部署策略  济南网站制作的价格,历城一职专官方网站?  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站之星如何实现网站加密操作?  学校建站服务器如何选型才能满足性能需求?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何零基础开发自助建站系统?完整教程解析  如何通过商城自助建站源码实现零基础高效建站?  如何通过远程VPS快速搭建个人网站?  大型企业网站制作流程,做网站需要注册公司吗?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  建站ABC备案流程中有哪些关键注意事项?  建站之星logo尺寸如何设置最合适?  无锡营销型网站制作公司,无锡网选车牌流程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。