Просто используйте соответствующий метод: String#split().
String string = "004-034556";
String[] parts = string.split("-");
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556
Обратите внимание, что для этого требуется регулярное выражение, поэтому не забудьте при необходимости экранировать специальные символы.
имеется 12 символов со специальными значениями: обратная косая черта \, каретка ^, знак доллара. $, точка или точка ., вертикальная черта или вертикальная черта |, знак вопроса ?, звездочка или звезда *, знак плюса +, открывающая скобка (, закрывающая скобка ) и открывающая квадратная скобка [, открывающая фигурная скобка {. Эти специальные символы часто называют «метасимволами».
Итак, если вы хотите разделить, например, период / точка ., что означает "любой символ" в регулярном выражении, используйте либо обратная косая черта \, чтобы экранировать отдельный специальный символ, например split("\\."), или используйте символьный класс [] для представления буквальных символов, подобных этому split("[.]"), или используйте _ 20_, чтобы экранировать всю строку так split(Pattern.quote(".")).
String[] parts = string.split(Pattern.quote(".")); // Split on period.
Чтобы заранее проверить, содержит ли строка определенные символы, просто используйте _ 23_.
if (string.contains("-")) {
// Split it.
} else {
throw new IllegalArgumentException("String " + string + " does not contain -");
}
Обратите внимание, это не требует регулярного выражения. Для этого используйте String#matches() вместо этого.
Если вы хотите сохранить разделенный символ в результирующих частях, используйте положительный поиск а>. Если вы хотите, чтобы разделенный символ попадал в левую часть, используйте положительный просмотр назад, добавив префикс ?<= group в шаблоне.
String string = "004-034556";
String[] parts = string.split("(?<=-)");
String part1 = parts[0]; // 004-
String part2 = parts[1]; // 034556
Если вы хотите, чтобы разделенный символ попадал в правую часть, используйте положительный просмотр вперед, добавив префикс ?= group в шаблоне.
String string = "004-034556";
String[] parts = string.split("(?=-)");
String part1 = parts[0]; // 004
String part2 = parts[1]; // -034556
Если вы хотите ограничить количество получаемых частей, вы можете указать желаемое число в качестве 2-го аргумента метода split().
String string = "004-034556-42";
String[] parts = string.split("-", 2);
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556-42
person
BalusC
schedule
14.08.2010