如果有字符串 “我是{0},我来自{1},今年{2}岁。  请问怎样用String的内置方法怎样用参数替换掉字符串的占位符:比如“我是中国人,我来自北京,今年22岁”。 谢谢各位。

解决方案 »

  1.   

    替换成的部分需要是动态的,比如是从数组或者LIST中取得的。
      

  2.   

    public static void main(String[] args) 
    {
         String s="我是{0},我来自{1},今年{2}岁";
         String arr2[]=new String[]{"中国人","北京","22"};
         while(s.indexOf("{")!=-1)
        {
    int n=Integer.parseInt(s.substring(s.indexOf("{")+1,s.indexOf ("{")+2));
    String s1=s.substring(s.indexOf("{"),s.indexOf("}")+1);
    String s2=arr2[n];
    s=s.replace(s1,s2);
        }
        System.out.println(s);

    }
      

  3.   

    int n=Integer.parseInt(s.substring(s.indexOf("{")+1,s.indexOf ("}")));
    替换一下
      

  4.   


    String str="我是%1$s,我来自%2$s,今年%3$s岁";
    System.err.println(String.format(str, "中国人", "北京", "22"));