Java:如何使用此字符串RegEx或Substring实用程序?

时间:2011-06-26 23:38:17

标签: java regex string substring string-utils

"Current Peak :   830           300"

如何抓住这两个数字,但没有空格。 (每个子字符串之间有5个或更多空格)

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

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

这回复:

"830           300"

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

4 个答案:

答案 0 :(得分: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"

答案 1 :(得分:3)

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

String[] workUnits = StringUtils.split(StringUtils.substringAfter(thaString, ":"));

答案 2 :(得分: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
    // ...
}

答案 3 :(得分:0)

String[] workUnits = StringUtils.substringAfter(thaString,":").split("\\s+");