要在Java中实现字符串的动态替换,可以使用String.format方法或者MessageFormat类。以下是使用这两种方法的示例
使用 String.format
String name = "张三"; String url = "example-url"; String message = String.format("%s邀请你使用里享商业,点击app-community.zhiianiot.com/%s下载里享商业,开启进一步沟通。", name, url); System.out.println(message);
使用 MessageFormat
import java.text.MessageFormat;String name = "张三"; String url = "example-url"; String message = MessageFormat.format("{0}邀请你使用里享商业,点击app-community.zhiianiot.com/{1}下载里享商业,开启进一步沟通。", name, url); System.out.println(message);
第三方库
<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}邀请你使用里享商业,点击app-community.zhiianiot.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);}
带{0}的替换
带${name}的替换