Java: Как RegEx или Substring использует эту строку? - PullRequest
2 голосов
/ 27 июня 2011
"Current Peak :   830           300"

Как я могу получить два числа, но без пробелов. (Между каждой подстрокой находится 5 или более пробелов)

Используя Apache StringUtils, я дошел до:

String workUnit =
StringUtils.substringAfter(thaString,
":");

Это возвращает:

"830           300"

но все еще с большим количеством пробелов и не разделенных.

Ответы [ 4 ]

6 голосов
/ 27 июня 2011

Или просто используя ядро ​​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"
3 голосов
/ 27 июня 2011

Не проверено, но это должно дать вам два числа:

String[] workUnits = StringUtils.split(StringUtils.substringAfter(thaString, ":"));
1 голос
/ 27 июня 2011

Вы можете сделать что-то вроде этого:

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
    // ...
}
0 голосов
/ 27 июня 2011
String[] workUnits = StringUtils.substringAfter(thaString,":").split("\\s+");
...