赞
踩
(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="我是{0},我来自{1},今年{2}岁";
String[] arr={"中国人","北京","22"};
System.out.println(fillStringByArgs(str, arr));
}
private static String fillStringByArgs(String str,String[] arr){
Matcher m=Pattern.compile("\\{(\\d)\\}").matcher(str);
while(m.find()){
str=str.replace(m.group(),arr[Integer.parseInt(m.group(1))]);
}
return str;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。