String s1 = "{0}发挥团员和{1}投影机推荐{2}弹吉他{3}添加";  (乱打的)
String[] s = {"回国任","共同","骨痛热","日番谷"};
我要将字符串中的{0} {1} {2} {3} 字符替换成 s 数组中的四个字符串
请教下高手,该怎么做?

解决方案 »

  1.   

    String s1 = "{0}发挥团员和{1}投影机推荐{2}弹吉他{3}添加";  (乱打的) 
    String[] s = {"回国任","共同","骨痛热","日番谷"}; 
    我要将字符串中的{0} {1} {2} {3} 字符替换成 s 数组中的四个字符串 
      

  2.   

    public class TestClient {
    public static void main (String [] args)
    {
    String s1 = "{0}发挥团员和{1}投影机推荐{2}弹吉他{3}添加";  //(乱打的)
    String[] s = {"回国任","共同","骨痛热","日番谷"}; 
    StringBuilder retVal = new StringBuilder();
    for (int i = 0; i < s1.length(); i ++)
    {
    boolean val = (i + 2 < s1.length()) && (s1.charAt(i) == '{') && (s1.charAt(i + 2) == '}');

    if (val)
    {
    int sig = s1.charAt(i + 1) - '0' ; //Integer.valueOf(s1.charAt(i + 1));

    if (sig < s.length)
    {
    retVal.append(s[sig]);
    i += 2;
    }
    }
    else {
    retVal.append(s1.charAt(i));
    }
    }

    System.out.println(retVal);

    }
    }
      

  3.   

    public class Test {
    public static void main(String[] args) {
    String s1 = "{0}发挥团员和{1}投影机推荐{2}弹吉他{3}添加"; 
    String[] s = {"回国任","共同","骨痛热","日番谷"}; 

    for (int i = 0; i < s.length; ++i) {
    s1 = s1.replace("{" + i + "}", s[i]);
    }

    System.out.println(s1);
    }
    }