欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java用正則表達(dá)式實(shí)現(xiàn)${name}形式的字符串模板實(shí)例

 更新時(shí)間:2016年12月16日 10:35:46   投稿:daisy  
這篇文章主要給大家介紹了Java如何用正則表達(dá)式實(shí)現(xiàn)${name}形式的字符串模板,文章給出詳細(xì)的實(shí)例代碼,對(duì)大家的理解和學(xué)習(xí)會(huì)很有幫助,有需要的朋友們下面來一起看看吧。

前言

相信大家可能曾遇到過這種情況,在開發(fā)中類似站內(nèi)信的需求時(shí),我們經(jīng)常要使用字符串模板,比如

尊敬的用戶${name}。。。。

里面的${name}就可以替換為用戶的用戶名。

下面使用正則表達(dá)式簡(jiǎn)單實(shí)現(xiàn)一下這個(gè)功能:

/**
  * 根據(jù)鍵值對(duì)填充字符串,如("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里存儲(chǔ)了鍵值對(duì),然后獲取鍵值對(duì)的集合,遍歷集合進(jìn)行對(duì)字符串的渲染

實(shí)例測(cè)試:

@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);
 }

有兩個(gè)變量需要替換,namesix,對(duì)應(yīng)的值分別為Java和6,同時(shí)name調(diào)用了兩次。

結(jié)果:

hello java, 1 2 3 4 5 6 7, again java. 

總結(jié)

以上就是關(guān)于Java利用正則表達(dá)式實(shí)現(xiàn)${name}形式的字符串模板的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • log4j中l(wèi)ogger標(biāo)簽中additivity屬性的用法說明

    log4j中l(wèi)ogger標(biāo)簽中additivity屬性的用法說明

    這篇文章主要介紹了log4j中l(wèi)ogger標(biāo)簽中additivity屬性的用法說明,基于很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 淺談Java ThreadPoolExecutor的使用

    淺談Java ThreadPoolExecutor的使用

    今天我們來學(xué)習(xí)一下Java ThreadPoolExecutor的使用,文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)Java的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • springboot讀取resource配置文件生成容器對(duì)象的示例代碼

    springboot讀取resource配置文件生成容器對(duì)象的示例代碼

    這篇文章主要介紹了springboot讀取resource配置文件生成容器對(duì)象的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Java使用Ehcache緩存框架的技術(shù)指南

    Java使用Ehcache緩存框架的技術(shù)指南

    Ehcache 是 Java 平臺(tái)下一個(gè)開源、高性能的分布式緩存框架,常用于提高系統(tǒng)性能和可擴(kuò)展性,它能夠幫助開發(fā)者緩存頻繁訪問的數(shù)據(jù),從而減少對(duì)數(shù)據(jù)庫(kù)和其他持久化存儲(chǔ)的訪問壓力,本文給大家介紹了Java使用Ehcache緩存框架的技術(shù)指南,需要的朋友可以參考下
    2025-03-03
  • 區(qū)塊鏈java代碼實(shí)現(xiàn)

    區(qū)塊鏈java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了區(qū)塊鏈java代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • bootstrap.yml如何讀取nacos配置中心的配置文件

    bootstrap.yml如何讀取nacos配置中心的配置文件

    這篇文章主要介紹了bootstrap.yml讀取nacos配置中心的配置文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java 停止線程需要注意的地方

    Java 停止線程需要注意的地方

    這篇文章主要介紹了Java 停止線程需要注意的地方,幫助大家更好的理解和學(xué)習(xí)Java線程的相關(guān)資料,感興趣的朋友可以了解下
    2020-09-09
  • 詳解關(guān)于spring bean名稱命名的那些事

    詳解關(guān)于spring bean名稱命名的那些事

    每個(gè)bean都有一個(gè)或者多個(gè)標(biāo)識(shí)符,這些標(biāo)識(shí)符在容器中必須是唯一的,這篇文章主要給大家介紹了關(guān)于spring bean名稱命名的那些事,需要的朋友可以參考下
    2021-07-07
  • Java后端請(qǐng)求接收多個(gè)對(duì)象入?yún)⒌臄?shù)據(jù)方法(推薦)

    Java后端請(qǐng)求接收多個(gè)對(duì)象入?yún)⒌臄?shù)據(jù)方法(推薦)

    本文介紹了如何使用SpringBoot框架接收多個(gè)對(duì)象作為HTTP請(qǐng)求的入?yún)?通過創(chuàng)建數(shù)據(jù)模型、DTO類和Controller,我們可以輕松處理復(fù)雜的請(qǐng)求數(shù)據(jù)
    2024-11-11
  • Java 運(yùn)算符詳情

    Java 運(yùn)算符詳情

    這篇文章主要介紹了Java 運(yùn)算符,Java 中的運(yùn)算符與 C 語言基本一致。下面文章就圍繞Java 中的運(yùn)算符的相關(guān)資料展開內(nèi)容,需要的朋友可以參考一下
    2021-11-11

最新評(píng)論