JAVA 字符串替换占位符

时间:2025-02-17 07:14:48

JAVA 字符串替换占位符

1 ()

  1. code
public static void main(String[] args) {
	String a= "123";
	String b= "321";
	String c= "c";
	((" {0} {1} {2} {3}", a, b,"",c));
	((" ''{0}'' '{1}' {2} {3}", a, b,"",c));
}
  1. 运行结果
 123 321  c
# '{1}'不转换
 'aaa' '{1}'  321 c

2 StrSubstitutor

  1. 依赖包
        <dependency>
            <groupId></groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
  1. code
public static void main(String[] args) {        
        Map map = new HashMap();
        ("code","123321");
        ("product","xxxaaa系统");
        String str1 = "您正在登录${product},验证码为:${code},五分钟内有效,如非本人操作请忽略。${a}";
        StrLookup customLookup = new StrLookup() {
            @Override
            public String lookup(String key) {
                // 如果 map 中有对应的键,则返回值;否则返回空字符串
                return (key, "");
            }
        };
        StrSubstitutor sb = new StrSubstitutor(customLookup);
        String content = (str1);
        (content);
}
  1. 输出
您正在登录xxxaaa系统,验证码为:123321,五分钟内有效,如非本人操作请忽略。

3. replace


public static void testReplace(String args[]) {
   String text = "hello {user}, welcome to {place}!";
   String user = "Lucy";
   String place = "China";

   String res = ("{user}", user).replace("{place}", place);
   (res);  // 输出   hello Lucy, welcome to China!
}