成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Java字符串格式化,{}占位符根據名字替換實例

瀏覽:103日期:2022-08-22 09:18:40

我就廢話不多說了,大家還是直接看代碼吧~

import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.HashMap;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; /** * 格式化字符串 字符串中使用{key}表示占位符 * * @param sourStr * 需要匹配的字符串 * @param param * 參數集 * @return */ public static String stringFormat(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; } /** * 格式化字符串 字符串中使用{key}表示占位符 利用反射 自動獲取對象屬性值 (必須有get方法) * * @param sourStr 需要匹配的字符串 * * @return */ public static String stringFormat(String sourStr, Object obj) { String tagerStr = sourStr; matcher = pattern.matcher(tagerStr); if (obj == null) return tagerStr; PropertyDescriptor pd; Method getMethod; // 匹配{}中間的內容 包括括號 while (matcher.find()) { String key = matcher.group(); String keyclone = key.substring(1, key.length() - 1).trim(); try {pd = new PropertyDescriptor(keyclone, obj.getClass());getMethod = pd.getReadMethod();// 獲得get方法Object value = getMethod.invoke(obj);if (value != null) tagerStr = tagerStr.replace(key, value.toString()); } catch (Exception e) {// TODO Auto-generated catch block// Loggers.addException(e); } } return tagerStr; } /** * 格式化字符串 (替換所有) 字符串中使用{key}表示占位符 * * @param sourStr * 需要匹配的字符串 * @param param * 參數集 * @return */ public static String stringFormatAll(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; } /** * 格式花字符串,按照占位符名字 * 輸入:sourStr = xxxxx{a}xxxx{b} ,param = {a:A,b:B} * 輸出:targetStr = xxxxAxxxxB * @param sourStr * @param param * @return */ public static String stringFormat(String sourStr, JSONObject 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) {// Map<String,Object> map = new HashMap<>();// map.put('id','111');// map.put('sss','ss');// JSONObject json = new JSONObject();// json.put('id','212');// json.put('fff','xxxx');// json.put('emmmmm',11);// stringFormat('sisas&{fff}_diwahwi%{id}{jio}',json); }}

補充知識:java中占位符的使用

二話不說,先上代碼

package com.string.format;public class StringFormat { //占位符%s,拼接sql,刪除兩個表中的數據,條件是字符串數組類型的id public static void formSql(String tableName,String tableName2,String...strings){ //sql占位符 %s占位符 String sql='delete from %s,%s where id in (%s)'; //聲明新的字符串 String sqls=''; //遍歷字符串的參數數組 for (String str : strings) { //將參數數組拼接成字符串,用逗號分割 sqls += str + ','; } //拼接最后會多出個逗號,截取 sqls=sqls.substring(0, sqls.length()-1); //format第一個sql參數為目標字符串,tableName,tableName2,為替換的兩表的名字,sqls為刪除數據的參數集合 String s=String.format(sql, tableName,tableName2,sqls); //輸出拼接后的sql System.out.println(s); } public static void main(String[] args) { //傳入參數為指定表名,和參數值 StringFormat.formSql('user','role', '1','3','5','7','9','33'); }}

其實,傳入的參數是數組類型的 值,我們也可以按array[0],array[1]的方式插入參數,只是參數個數應用不靈活,還是使用數組的方式取值比較好,

Java字符串格式化,{}占位符根據名字替換實例

public static void format(){ String st='%s的%s的價格是%f,是否售罄%c,占總銷售的%d%%,庫存%d,是否為暢銷品%b'; String s=String.format(st, '58優品','啤酒',3.5,’是’,50,199,true); System.out.println(s); } public static void main(String[] args) { //傳入參數為指定表名,和參數值 //StringFormat.formSql('user','role', '1','3','5','7','9','33'); format(); }

Java字符串格式化,{}占位符根據名字替換實例

public static void format(){ //String st='%s的%s的價格是%f,是否售罄%c,占總銷售的%d%%,庫存%d,是否為暢銷品%b'; //String s=String.format(st, '58優品','啤酒',3.5,’是’,50,199,true); //System.out.println(s); SimpleDateFormat simple=new SimpleDateFormat('yyyy年MM月dd日 HH點mm分ss秒'); String newDate=simple.format(new Date()); String st1='%s的%s的價格是%s,是否售罄%s,占總銷售的%s%%,庫存%s,是否為暢銷品%s,當前日期為%s'; String ss=String.format(st1, '58優品','啤酒','3.5',’是’,'80','998','true',newDate);System.out.println(ss); } public static void main(String[] args) { //傳入參數為指定表名,和參數值 //StringFormat.formSql('user','role', '1','3','5','7','9','33'); format(); }

Java字符串格式化,{}占位符根據名字替換實例

/*%S字符串類型的占位符 * %c字符類型的占位符 * %b布爾類型的占位符 * %d整數類型的占位符 * %%百分比類型的占位符 * %n換行類型的占位符 * %t時間類型的占位符 * c全部的日期時間類型 * F年-月-日格式 * D年/月/日格式 * rHH:MM:SS格式12小時制 * */

以上這篇Java字符串格式化,{}占位符根據名字替換實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲精品1234| 欧美日韩大陆在线| 国产婷婷精品| 欧美sm极限捆绑bd| 日本欧美久久久久免费播放网| 99久久99久久免费精品蜜臀| 一本一本久久a久久精品综合麻豆| 久久久久久99久久久精品网站| 亚洲精品视频在线| 成人久久久精品乱码一区二区三区| 国产精品一区二区三区免费观看| xfplay精品久久| 午夜精品一区在线观看| 国产精品www.| 日韩亚洲欧美高清| 蜜臀a∨国产成人精品| 91久久久久| 日韩一区二区三区在线| 中文字幕一区av| gogo大胆日本视频一区| 欧美日韩一区二区三区免费看| 亚洲综合色网站| 极品中文字幕一区| 久久精品亚洲国产奇米99| 国产综合色在线视频区| 色中色一区二区| 一区二区在线观看免费| 91免费在线视频观看| 日韩午夜精品电影| 老鸭窝一区二区久久精品| 一本色道久久精品| 最新日韩av在线| 午夜视频一区| 久久久精品综合| 99国产精品国产精品久久| 欧美一级生活片| 韩国av一区二区三区在线观看| 久久天天综合| 亚洲超碰精品一区二区| 99av国产精品欲麻豆| 国产精品对白交换视频| aaa国产一区| 日韩精品最新网址| 蜜桃一区二区三区在线| 国产区欧美区日韩区| 国产女主播一区| 99久久99久久精品国产片果冻 | 99天天综合性| 日韩精品一区二区三区老鸭窝| 国产91精品在线观看| 91精品中文字幕一区二区三区| 久久97超碰色| 欧美日产国产精品| 国内精品嫩模私拍在线| 欧美自拍偷拍一区| 国产乱人伦偷精品视频免下载| 欧美亚洲一区二区在线| 日韩电影在线免费看| 在线观看亚洲a| 免费精品99久久国产综合精品| 国产精品免费一区二区三区在线观看 | 亚洲成人av电影在线| 免费试看一区| 亚洲成人先锋电影| 色婷婷亚洲精品| 麻豆精品在线观看| 在线日韩av片| 国产综合色视频| 精品成人免费观看| 欧美一区二区三区久久精品| 国产目拍亚洲精品99久久精品| 欧美日韩国产综合网| 国产精品的网站| 日韩亚洲视频在线| 亚洲女人****多毛耸耸8| 亚洲日本精品国产第一区| 亚洲蜜臀av乱码久久精品蜜桃| 国产一区二区三区无遮挡| 中文字幕一区免费在线观看| 你懂的亚洲视频| 国产精品毛片久久久久久久 | 亚洲精品字幕| 夜夜精品浪潮av一区二区三区| 先锋a资源在线看亚洲| 日韩国产精品久久久| 欧美日韩成人高清| 成人一区二区视频| 中文字幕第一区二区| 在线免费观看欧美| 亚洲第一狼人社区| 欧美美女喷水视频| 成人aa视频在线观看| xnxx国产精品| 欧美精品一区二区视频| 亚洲丝袜制服诱惑| 91久久精品国产91性色tv| 极品少妇xxxx偷拍精品少妇| 日韩女优av电影| 欧美日韩亚洲三区| 婷婷久久综合九色综合伊人色| 欧美日韩成人综合| 欧美国内亚洲| 一区二区三区高清在线| 欧美性大战久久| 国产最新精品免费| 欧美精品一区二区三区高清aⅴ| 亚洲午夜精品一区二区| 亚洲国产另类av| 日韩一区二区高清| 亚洲网址在线| 久久激五月天综合精品| 久久嫩草精品久久久精品一| 亚洲国产婷婷| 免费看欧美美女黄的网站| 欧美一区二区三区视频在线 | 91丨九色porny丨蝌蚪| 亚洲精品菠萝久久久久久久| 色爱区综合激月婷婷| 91丨国产丨九色丨pron| 亚洲图片有声小说| 日韩精品专区在线| 一区二区毛片| 国产大陆a不卡| 中文字幕视频一区| 欧洲av在线精品| 91在线免费看| 亚洲午夜在线电影| 日韩三级免费观看| 国产欧美韩日| 免费成人深夜小野草| 久久丝袜美腿综合| 亚洲国产高清一区| 激情国产一区二区| 亚洲精品国产精华液| 欧美乱妇15p| 亚洲欧洲一区| 国产激情一区二区三区| 亚洲免费观看高清在线观看| 欧美电影一区二区| 在线观看视频日韩| 国产成人一区在线| 亚洲综合色视频| 久久综合久久99| 国产手机视频一区二区| 国产真实乱子伦精品视频| 国产精品国产a| 欧美一区二区啪啪| 欧美亚洲色图校园春色| 午夜精品久久久久99热蜜桃导演 | 久久成人精品| 北条麻妃国产九九精品视频| 亚洲一区二区三区视频在线播放| 日韩精品一区二区三区四区视频| 久久一区二区三区av| 日韩高清在线电影| 欧美高清一级片在线观看| 欧美一区二区三区在线看| 野花国产精品入口| 国产主播一区| 91免费国产视频网站| 国产91对白在线观看九色| 国产一区二区三区精品欧美日韩一区二区三区 | 色综合久久久久久久久久久| 国产欧美日本| 一本综合久久| 国产日韩专区| 亚洲一区二区在| 亚洲一区二区网站| 亚洲欧美日本日韩| 99视频日韩| 国产精品免费一区二区三区在线观看| 亚洲黄网站黄| 国产一区二区高清不卡| 一区二区欧美日韩| 亚洲精品一区二区三区樱花| 亚洲国产一区二区三区a毛片 | 欧美一区二区在线免费观看| 欧美精品粉嫩高潮一区二区| 91.麻豆视频| 日韩亚洲国产中文字幕欧美| 日韩精品一区在线观看| 精品少妇一区二区三区免费观看| 日韩一区二区免费在线观看| 日韩视频永久免费| 久久香蕉国产线看观看99| 亚洲国产精品二十页| 亚洲欧美另类小说| 亚洲第一综合色| 久久精品免费看| 国产很黄免费观看久久| av激情亚洲男人天堂| 91免费版在线| 国产精品videosex极品| 亚洲精品1区| 美女尤物久久精品| 欧洲精品中文字幕| 欧美一区二区性放荡片| 欧美大片国产精品| 国产色综合一区| 亚洲男人都懂的|