2
"Current Peak :   830           300"

どうすれば2つの数字を取得できますが、スペースはありません. (各部分文字列の間には 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

テストされていませんが、これにより 2 つの数値が得られるはずです。

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 に答える