Java:如何RegEx或Substring使用这个字符串


"Current Peak :   830           300"

如果没有空格,我怎么能抓住这两个数字呢。(每个子串之间有5个或更多的空格(

使用apache的StringUtils到目前为止:

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

这会回报:

"830           300"

但是仍然有很多空间并且没有被分开。

或者只使用核心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"

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

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

您可以这样做:

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+");

相关内容

  • 没有找到相关文章

最新更新