Разделить строку в Java - PullRequest
2 голосов
/ 27 мая 2011

Я получаю эту строку из программы

[user1, user2]

Мне нужно, чтобы оно было разделено на

String1 = user1
String2 = user2

Ответы [ 6 ]

9 голосов
/ 27 мая 2011

Вы можете сделать это для безопасного удаления скобок или пробелов перед разделением запятыми:

String input = "[user1, user2]";
String[] strings = input.replaceAll("\\[|\\]| ", "").split(",");
// strings[0] will have "user1"
// strings[1] will have "user2"
5 голосов
/ 27 мая 2011

Попробуйте,

            String source = "[user1, user2]";
            String data = source.substring( 1, source.length()-1 );

            String[] split = data.split( "," );

            for( String string : split ) {
                System.out.println(string.trim());
            }
2 голосов
/ 27 мая 2011

Это сделает вашу работу, и вы получите массив строк.

    String str = "[user1, user2]";
    str = str.substring(1, str.length()-1);
    System.out.println(str);
    String[] str1 = str.split(",");
2 голосов
/ 27 мая 2011

Попробуйте методы String.split () .

0 голосов
/ 27 мая 2011

Исходя из того, что вы говорите, я думаю, вы уже получаете массив, не так ли?

String[] users = new String[]{"user1", "user2"};
System.out.println("str="+Arrays.toString(str));//this returns your output

Таким образом, имея этот массив, вы можете получить их, используя их индекс.

String user1 = users[0];
String user2 = users[1];

Если вы на самом деле работаете со строкой, то продолжается, как, например, @ WhiteFang34 предлагает (+1).

0 голосов
/ 27 мая 2011

Откуда вы получаете эту строку. Можете ли вы проверить тип возвращаемого значения метода.

Я думаю, что тип возвращаемого значения будет некоторое время массива, и вы экономите, возвращая значение в строке.так что добавляется [].если это не так, используйте любой из методов, предложенных пользователями в других ответах.

...