Как разбить строку в Java - PullRequest
       51

Как разбить строку в Java

1496 голосов
/ 14 августа 2010

У меня есть строка, "004-034556", которую я хочу разделить на две строки:

string1="004";
string2="034556";

Это означает, что первая строка будет содержать символы до '-', а вторая строка будет содержать символы после '-'. Я также хочу проверить, содержит ли строка '-'. Если нет, я брошу исключение. Как я могу это сделать?

Ответы [ 33 ]

0 голосов
/ 14 мая 2017

Из документации:

public String[] split(String regex,int limit) Разбивает эту строку вокруг совпадений заданного регулярного выражения .Массив, возвращаемый этим методом, содержит каждую подстроку этой строки, которая заканчивается другой подстрокой , которая соответствует данному выражению или заканчивается концом строки.Подстроки в массиве имеют порядок , в котором они встречаются в этой строке.Если выражение не не совпадает ни с одной частью ввода, тогда результирующий массив будет иметь только один элемент , , а именно эту строку.* В основном вы можете сделать что-то вроде этого:

String s = "123-456-789-123"; // The String to be split
String[] array = s.split("-"); // Split according to the hyphen and put them in an array
for(String subString : array){ // Cycle through the array
   System.out.println(subString);
}

Вывод:

123
456
789
123
0 голосов
/ 24 февраля 2017
String s="004-034556";
for(int i=0;i<s.length();i++)
{
    if(s.charAt(i)=='-')
    {
        System.out.println(s.substring(0,i));
        System.out.println(s.substring(i+1));
    }
}

Как уже упоминалось, split () - лучший вариант, который может быть использован в вашем случае. Альтернативным методом может быть использование substring ().

0 голосов
/ 08 апреля 2017

Чтобы разбить строку, используйте String.split(regex):

String phone = "004-034556";
String[] output = phone.split("-");
System.out.println(output[0]);
System.out.println(output[1]);

Выход:

004
034556
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...