java

使用Apache commons StringSubstitutor對模板佔位符進行賦值

pom.xml里加入如下依賴:

  1. <dependency>
  2. <groupId>org.apache.commons</groupId>
  3. <artifactId>commons-text</artifactId>
  4. <version>1.8</version>
  5. </dependency>
/**
 * @author ShouAn.Zhang
 * @date 2020/10/16 - 20:20
 */
public class Placeholder {

    public static void main(String[] args) {

        // 簡訊模板
        String template = "${userName}您好,歡迎使用${system},您的驗證碼是:${code},若非本人操作,請忽略!";

        // 佔位符對應的值
        Map<String,String> valueMap = new HashMap<>();
        valueMap.put("userName","阿杰");
        valueMap.put("system","查詢系統");
        valueMap.put("code","666666");

        StringSubstitutor sub = new StringSubstitutor(valueMap);

        String replace = sub.replace(template);

        System.out.println(replace); // 阿杰您好,歡迎使用查詢系統,您的驗證碼是:666666,若非本人操作,請忽略!

    }

}

自定義佔位符的前後綴

/**
 * @author ShouAn.Zhang
 * @date 2020/10/16 - 20:20
 */
public class Placeholder {

    public static void main(String[] args) {

        // 簡訊模板
        String template = "#userName#您好,歡迎使用#system#,您的驗證碼是:#code#,若非本人操作,請忽略!";

        // 佔位符對應的值
        Map<String,String> valueMap = new HashMap<>();
        valueMap.put("userName","阿杰");
        valueMap.put("system","查詢系統");
        valueMap.put("code","666666");

        // 構造方法  StringSubstitutor(Map<String, V> valueMap, String prefix, String suffix)
        StringSubstitutor sub = new StringSubstitutor(valueMap,"#","#");

        String replace = sub.replace(template);

        System.out.println(replace); // 阿杰您好,歡迎使用查詢系統,您的驗證碼是:666666,若非本人操作,請忽略!

    }

}
/**
 * @author ShouAn.Zhang
 * @date 2020/10/16 - 20:20
 */
public class Placeholder {

    public static void main(String[] args) {

        // 簡訊模板
        String template = "#userName#您好,歡迎使用#system#,您的驗證碼是:#code#,若非本人操作,請忽略!";

        // 佔位符對應的值
        Map<String,String> valueMap = new HashMap<>();
        valueMap.put("userName","阿杰");
        valueMap.put("system","查詢系統");
        valueMap.put("code","666666");

        StringSubstitutor sub = new StringSubstitutor();

        // 使用靜態方法傳入自定義的佔位符前後綴
        String replace = sub.replace(template,valueMap,"#","#");

        System.out.println(replace); // 阿杰您好,歡迎使用查詢系統,您的驗證碼是:666666,若非本人操作,請忽略!

    }

}

 

本文章已修改原文用詞符合繁體字使用者習慣使其容易閱讀

版權宣告:此處為CSDN博主「shouanzh」的原創文章,依據CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。

原文連結:https://blog.csdn.net/ZSA222/article/details/109125636