网站首页 > 精选教程 正文
比如消息通知,短信发送之类的我们肯定是要用到字符串模版的替换的
要在Java中实现字符串的动态替换,可以使用String.format方法或者MessageFormat类或者三方包。以下是使用这三种方法的示例
使用 String.format,适用于%s的替换
String name = "张三";
String url = "example-url";
String message = String.format("%s邀请你使用里享商业,点击com/%s下载里享商业,开启进一步沟通。", name, url);
System.out.println(message);
使用 MessageFormat,适用于{0}的替换
import java.text.MessageFormat;
String name = "张三";
String url = "example-url";
String message = MessageFormat.format("{0}邀请你使用里享商业,点击com/{1}下载里享商业,开启进一步沟通。", name, url);
System.out.println(message);
第三方库,适用于${name}的替换
引入依赖包commons-text
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.12.0</version>
</dependency>
public static void main(String[] args) {
String template = "${name}邀请你使用里享商业,点击com/${url}下载里享商业,开启进一步沟通。";
String name = "张三";
String url = "example-url";
Map<String, String> valuesMap = new HashMap<>();
valuesMap.put("name", name);
valuesMap.put("url", url);
StringSubstitutor sub = new StringSubstitutor(valuesMap);
String message = sub.replace(template);
System.out.println(message);
}
猜你喜欢
- 2025-06-04 广州新嘉华:Java基础知识之String类
- 2025-06-04 Java中如何从字符串值获取枚举值(java中如何从字符串值获取枚举值的数据)
- 2025-06-04 Java语言中字符串的存储(java字符串放在栈还是堆)
- 2025-06-04 漫画:为什么Java里面的String对象是不可变的?
- 2025-06-04 Java中String、StringBuilder和StringBuffer的使用场景深度剖析
- 2025-06-04 Java面试高频题:String与StringBuilder—一场字符串操作的较量
- 2025-06-04 Java字符串拼接3大隐藏陷阱!你的代码为何越优化越慢-附提速代码
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)