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