Java用正则表达式实现${name}形式的字符串模板实例
发布时间 - 2026-01-10 21:52:42 点击率:次前言

相信大家可能曾遇到过这种情况,在开发中类似站内信的需求时,我们经常要使用字符串模板,比如
尊敬的用户${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);
}
有两个变量需要替换,name和six,对应的值分别为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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel怎么清理缓存_Laravel optimize clear命令详解
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
Laravel如何实现多对多模型关联?(Eloquent教程)
使用Dockerfile构建java web环境
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何安全更换建站之星模板并保留数据?
如何在橙子建站中快速调整背景颜色?
黑客入侵网站服务器的常见手法有哪些?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
如何在建站之星绑定自定义域名?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Android GridView 滑动条设置一直显示状态(推荐)
网站建设要注意的标准 促进网站用户好感度!
javascript基本数据类型及类型检测常用方法小结
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
WordPress 子目录安装中正确处理脚本路径的完整指南
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Android中AutoCompleteTextView自动提示
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
网页设计与网站制作内容,怎样注册网站?
如何用花生壳三步快速搭建专属网站?
高端网站建设与定制开发一站式解决方案 中企动力
如何快速启动建站代理加盟业务?
php json中文编码为null的解决办法
深圳网站制作的公司有哪些,dido官方网站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何用美橙互联一键搭建多站合一网站?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
制作电商网页,电商供应链怎么做?
如何正确选择百度移动适配建站域名?
详解CentOS6.5 安装 MySQL5.1.71的方法
如何快速查询域名建站关键信息?
如何在局域网内绑定自建网站域名?
微信小程序 配置文件详细介绍
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
北京专业网站制作设计师招聘,北京白云观官方网站?
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
网站制作大概多少钱一个,做一个平台网站大概多少钱?
百度浏览器如何管理插件 百度浏览器插件管理方法

