2
"Current Peak :   830           300"

我怎样才能得到这两个数字,但没有空格。(每个子字符串之间有 5 个或更多空格)

到目前为止,我使用 apache 的 StringUtils:

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

这回馈:

"830           300"

但仍然有很多空格并且没有分开。

4

4 回答 4

6

或者只是使用核心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"
于 2011-06-26T23:47:08.370 回答
3

未经测试,但这应该会给你两个数字:

String[] workUnits = StringUtils.split(StringUtils.substringAfter(thaString, ":"));
于 2011-06-26T23:42:56.387 回答
1

你可以这样做:

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
    // ...
}
于 2011-06-26T23:50:01.093 回答
0
String[] workUnits = StringUtils.substringAfter(thaString,":").split("\\s+");
于 2011-06-26T23:49:14.083 回答