3

たとえば、 String"PARAMS @ FOO @ BAR @"と String arrayがあり{"one", "two", "three"}ます。

配列の値を 1 対 1 で文字列にマップする (マーカーを置き換える) と、最終的に次のようになります"PARAMS one, FOO two, BAR three"

ありがとうございました

4

3 に答える 3

3

あなたはただすることができます

String str =  "PARAMS @ FOO @ BAR @";
String[] arr = {"one", "two", "three"};

for (String s : arr)
    str = str.replaceFirst("@", s);

この後、strを保持し"PARAMS one FOO two BAR three"ます。もちろん、コンマを含めるには、s + ",".

于 2012-10-28T21:04:35.937 に答える
1

このようにすることもできます: -

    String str = "PARAMS @ FOO @ BAR @";
    String[] array = new String[]{"one", "two", "three"};
    String[] original = str.split("@");

    StringBuilder builder = new StringBuilder();

    for (int i = 0; i < array.length; i++) {
        builder.append(original[i]).append(array[i]);
    }
    System.out.println(builder.toString());
于 2012-10-28T21:07:54.657 に答える
1

注 - クラス String: の非常に便利なメソッドString.format。問題を非常に簡潔に解決するのに役立ちます。

String str = "PARAMS @ FOO @ BAR @";
String repl = str.replaceAll( "@", "%s" ); // "PARAMS %s FOO %s BAR %s"
String result = String.format( repl, new Object[]{ "one", "two", "three" }); 
// result is "PARAMS one FOO two BAR three"
于 2012-10-29T12:08:07.883 に答える