java填充占位符_java 占位符的使用

本文探讨了如何在Java中使用MessageFormat进行字符串格式化,包括其从JDK5起的变参支持,以及通过replace方法逐个替换占位符的实例。此外,还介绍了如何创建一个自定义repString方法,广泛应用于SQL查询、日志记录等场景,以及日期转换中的正则表达式应用。
摘要由CSDN通过智能技术生成

如果有字符串 “我是{0},我来自{1},今年{2}岁。

请问怎样用String的内置方法用替换掉字符串的占位符:比如“我是中国人,我来自北京,今年22岁”。

(1)JDK 中有正好有这功能:java.text.MessageFormat

而 java.text.MessageFormat 正好用的是 {0}, {1},所以String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");

MessageFormat.format 方法从 JDK 5 开始支持变参,可以直接用逗号添加参数。

(2)String str="我是{0},我来自{1},今年{2}岁";

str = str.replace("{0}", "中国人");

str = str.replace("{1}", "北京");

str = str.replace("{2}", "22");

System.out.println(str);

(3) public static void main(String[] args){

String str="";

str=repString("我是{0},我来自{1},今年{2}岁","中国人","江苏","30");

System.out.println(str);

}

public static String repString(String str,String ... params){

for(int i=0;i

str=str.replace("{"+i+"}", params[i]==null?null:params[i]);

}

return str;

}

第3种方法是目前最常用的。

sql查询中可以使用,log日志中可以使用, 时间的转换等。

public static String convertyyyyMMdd(String datestr){

return datestr.replaceAll("(\\d{4})-(\\d{2})-(\\d{2})","$1$2$3");

}

public static String convertyyyy_MM_dd(String datestr){         return datestr.replaceAll("(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3");     }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值