如果有字符串 “我是{0},我来自{1},今年{2}岁。 请问怎样用String的内置方法用替换掉字符串的占位符:比如“我是中国人,我来自北京,今年22岁”。 谢谢各位。
解决方案 »
- hql连接两个属性方法
- applicationcontext.xml ERROR - Context initialization failed
- 毕业设计遇到的一个问题,求解~
- SPRING配置文件出错的问题
- Servlet actionServlet is not available
- javaScript分页问题
- CMP中存储oracle的xmltype
- J2EE中“ctx = new InitialContext(hash)”和“ctx = new InitialContext();”有什么区别吗?
- TOMCAT配置连接池的SERVER.XML文件的问题
- 各位对于httpUrlConnection网络请求时获取sesion值空指针的问题怎么看?¨
- 怎么获取当前完整的URL
- servlet/InvokerServlet$GetCredentialAction.class 错误
str = str.replace("{0}", "中国人");
str = str.replace("{1}", "北京");
str = str.replace("{2}", "22");
System.out.println(str);
不知道这么能满足要求不?
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;
}
System.out.printf("我是%s,我来自%s,今年%d岁", "中国人","北京",22);
system.out.print(str);