Java: Как RegEx или Substring использует эту строку?
"Current Peak : 830 300"
Как я могу получить два числа, но без пробелов. (Есть 5 или более пробелов между каждой подстрокой)
Используя Apache StringUtils, я получил так далеко:
String workUnit =
StringUtils.substringAfter(thaString,
":");
Это возвращает:
"830 300"
но все же с большим количеством мест и не разделены.
4 ответа
Решение
Не проверено, но это должно дать вам два числа:
String[] workUnits = StringUtils.split(StringUtils.substringAfter(thaString, ":"));
Или просто используя ядро Java:
String input = "Current Peak : 830 300";
String[] parts = input.split("\\s+"); // Split on any number of whitespace
String num1 = parts[3]; // "830"
String num2 = parts[4]; // "300"
Вы можете сделать что-то вроде этого:
Pattern patt = Pattern.compile("Current Peak :\\s*(\\d*)\\s*(\\d*)");
Matcher matcher = patt.matcher("Current Peak : 830 300");
if (matcher.find()) {
String first = matcher.group(1); // 830
String second = matcher.group(2); // 300
// ...
}
String[] workUnits = StringUtils.substringAfter(thaString,":").split("\\s+");