亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Java實(shí)現(xiàn)占位符名稱替換值

瀏覽:4日期:2022-08-08 17:49:54
目錄前言代碼原理前言

占位符現(xiàn)在應(yīng)該說是比較流行的動(dòng)態(tài)賦值,方法有String.format(),通過%s或其他來賦值;或者M(jìn)essageFormat.format(),通過{0}來賦值,參數(shù)名都不可定義

項(xiàng)目中有個(gè)需求,根據(jù)一串帶著參數(shù)名占位符的url,替換掉對應(yīng)參數(shù)名的值,由此有了以下的工具類。

代碼

import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringFormatUtil { private static final Pattern pattern = Pattern.compile('{(.*?)}'); private static Matcher matcher; private StringFormatUtil(){} /** * 格式化字符串 字符串中使用{key}表示占位符 * * @param sourStr * 需要匹配的字符串 * @param param * 參數(shù)集 * @return */ public static String format(String sourStr, Map<String, Object> param) {String tagerStr = sourStr;if (param == null) return tagerStr;try { matcher = pattern.matcher(tagerStr); while (matcher.find()) {String key = matcher.group();String keyclone = key.substring(1, key.length() - 1).trim();Object value = param.get(keyclone);if (value != null) tagerStr = tagerStr.replace(key, value.toString()); }}catch (Exception e){ return null;}return tagerStr; } //public static void main(String[] args) { // String url = 'https://xxx.com/cfes?c={campaign_name}&af_siteid={af_siteid}&clickid={clickid}&android_id={android_id}&advertising_id={advertising_id}&idfa={idfa}'; // Map<String, Object> map = new LinkedHashMap<>(); // map.put('campaign_name', '111'); // map.put('af_siteid', '222'); // map.put('clickid', '333'); // map.put('android_id', '444'); // map.put('advertising_id', '555'); // map.put('idfa', ''); // System.out.println(format(url, map)); //}}

結(jié)果https://xxx.com/cfes?c=111&af_siteid=222&clickid=333&android_id=444&advertising_id=555&idfa=

原理

從上面結(jié)果可以看到,對應(yīng)著參數(shù)名的占位符都被替換成了相應(yīng)的值,原理也很簡單,根據(jù)表達(dá)式匹配,找出str中的每個(gè)占位符,再根據(jù)傳入的map,找到占位符名稱做key,就能拿到對應(yīng)的value,然后進(jìn)行替換

到此這篇關(guān)于Java實(shí)現(xiàn)占位符名稱替換值的文章就介紹到這了,更多相關(guān)Java 占位符替換內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲欧美日韩国产精品第不页 | 国产精品一区二区手机在线观看 | 一级性生活免费 | 亚洲精品天堂一区二区三区 | 鲁大师视频在线观看免费播放 | 精品视频在线免费看 | 亚洲欧洲国产视频 | 日韩欧美国产一区二区三区 | 精品国产一区二区三区久久 | 在线观看免费播放网址成人 | 欧美 亚洲 一区 | 日韩手机看片福利精品 | 最刺激黄a大片免费观看下截 | 韩国一级特黄毛片大 | 一级a毛片免费 | 亚洲视频999 | 1024在线观看免费播放 | 国产视频一区二区在线观看 | 午夜一级毛片免费视频 | 精品视频在线免费播放 | 欧美特黄一级高清免费的香蕉 | 久久这里只有精品2 | 国产一区曰韩二区欧美三区 | 久久久久欧美精品网站 | 色网址在线 | 亚洲一二三 | 日韩欧美在线一区二区三区 | 亚洲国产二区三区 | 亚洲国产国产综合一区首页 | a毛片免费观看完整 | 在线va| 黄色a级| 污91视频 | 日韩不卡手机视频在线观看 | 国产福利足控交在线观看 | 亚洲国产日韩在线一区 | 樱花草在线社区www韩国 | 日韩一区二区久久久久久 | 欧美成人精品福利在线视频 | 视频免费1区二区三区 | 国产大片免费在线观看 |