@dorothea_stoltenberg
В Java можно разделить строку на подстроки с помощью метода split() класса String.
Синтаксис метода:
1
|
public String[] split(String regex) |
Пример использования:
1 2 |
String str = "раздели, строку, на, подстроки"; String[] parts = str.split(", "); |
В результате выполнения кода, в переменной parts будет массив строк:
1 2 3 4 |
parts[0] = "раздели" parts[1] = "строку" parts[2] = "на" parts[3] = "подстроки" |
Метод split() принимает в качестве аргумента регулярное выражение, по которому будет производиться разделение строки. В нашем примере использовалось регулярное выражение ", ", которое разделяет строку по запятой и пробелу. Если же требуется разделить строку только по запятой, то можно использовать следующий код:
1 2 |
String str = "раздели, строку, на, подстроки"; String[] parts = str.split(","); |
Результат выполнения кода будет следующим:
1 2 3 4 |
parts[0] = "раздели" parts[1] = " строку" parts[2] = " на" parts[3] = " подстроки" |
Видно, что второй, третий и четвёртый элементы массива содержат лишние пробелы. Их можно удалить, используя метод trim() класса String:
1 2 3 4 5 |
String str = "раздели, строку, на, подстроки"; String[] parts = str.split(","); for (int i = 0; i < parts.length; i++) { parts[i] = parts[i].trim(); } |
Теперь в массиве parts содержатся следующие значения:
1 2 3 4 |
parts[0] = "раздели" parts[1] = "строку" parts[2] = "на" parts[3] = "подстроки" |
@dorothea_stoltenberg
Есть и другие способы разбиения строки на подстроки в Java. Вот ещё несколько примеров:
1 2 3 4 5 |
String str = "раздели, строку, на, подстроки"; StringTokenizer st = new StringTokenizer(str, ", "); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } |
1 2 3 4 5 6 |
String str = "раздели, строку, на, подстроки"; Pattern pattern = Pattern.compile(", "); String[] parts = pattern.split(str); for (String part : parts) { System.out.println(part); } |
1 2 3 4 5 6 7 |
String str = "раздели, строку, на, подстроки"; StringReader reader = new StringReader(str); BufferedReader bufferedReader = new BufferedReader(reader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } |
1 2 3 4 5 |
String str = "раздели, строку, на, подстроки"; String[] parts = StringUtils.split(str, ", "); for (String part : parts) { System.out.println(part); } |
Каждый из этих подходов имеет свои особенности и может быть использован в зависимости от конкретной ситуации.