以下に示す私の文字列
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 24416 2408 1360 S 0.0 0.2 0:00.88 init
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
171 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 mpt_poll_0
818 messageb 20 0 23940 1260 920 S 0.0 0.1 0:00.97 dbus-daemon
995 whoopsie 20 0 185m 4224 3000 S 0.0 0.4 0:00.06 whoopsie
1000 daemon 20 0 16908 156 0 S 0.0 0.0 0:00.19 atd
24043 root 20 0 570m 3952 2780 S 0.0 0.4 0:04.28 console-kit-dae
24110 root 20 0 182m 3032 2484 S 0.0 0.3 0:01.66 polkitd
26310 root 20 0 0 0 0 S 0.0 0.0 0:00.00 flush-8:0
30081 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kworker/0:1
31381 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:2
31511 root 20 0 81900 3904 3048 S 0.0 0.4 0:00.03 sshd
31646 root 20 0 19228 1376 1060 R 0.0 0.1 0:00.00 top
今、この文字列を分割したいので、次のJava関数を使用しました
for(int i = 0; i < mystring.length; i++){
String[] values = mystring.split("\\s+");
System.out.println(values[0]);
}
しかし、チェックするvalues[0]
と31646しか表示されず、他は表示されませんか?スプリットの正規表現が間違っていると思うので、これも試してみまし"\\t\\n\\x0B\\f\\r"
たが、うまくいきません。これを管理する方法を知っている人はいますか?