国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:26:11
字體:
供稿:網(wǎng)友

前言

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

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

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

下面使用正則表達(dá)式簡單實(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 = "http://$//{" + entry.getKey() + "http://}";   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}形式的字符串模板的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇义县| 洪湖市| 红安县| 中西区| 磐安县| 滨海县| 天祝| 孝义市| 綦江县| 新沂市| 门头沟区| 文成县| 连州市| 武川县| 外汇| 高台县| 突泉县| 英吉沙县| 韩城市| 屏山县| 新干县| 田阳县| 井研县| 宿州市| 阳原县| 濮阳县| 尉犁县| 从化市| 凤台县| 道孚县| 五华县| 响水县| 莱西市| 滁州市| 绥阳县| 高邑县| 南昌县| 麻栗坡县| 原平市| 修武县| 东阳市|