私はinputstreamerを使用して、出力を継続的に実行するシェルコマンドの出力を取得しています。Java:文字列の特定の部分を配列に格納する
私はここでそれを印刷することにより、シェルの出力の一部を分離することに成功しました:System.out.println(inputStr.substring(inputStr.lastIndexOf(" ")+1));
しかし、私はシェルの出力の表現に応じて、2つarrraysのいずれかに出力を保存したいのですが。最初のものとしてIP 192.168.0.12.4588 > 212.98.120.24.443 psx 4488
、反対:
は、我々はこの構文を次の2つのシェルoutpustを持っていると言うIP 212.98.120.24.443 > 192.168.0.12.4588 psx 12
以上のプリントから、私は4488
と同様に12
の両方を隔離して印刷することができます。しかし、192.168.0.x.xが最初のIPであれば、値4448
が特定の配列に格納されます。同様に、> 192.168.0.x.xが反対側にある場合は、別の配列に値12
を保存します。
どうすればいいですか?
あなたは、私が今、正規表現にまで読んでいる 'regex' ... – brso05
を使用することができます。 '>' 192.168.0.XX.XXXのどちらの側がオンになっているかを区別するために正規表現をどのように使いますか? xx.xxxはいつでも変更できます。 192.168.0のみが定数です:) – cbll
(ip、left_side、right_side、psx、number)のようなオブジェクトの入力全体を解析し、左側が192.168.0で始まるかどうかを比較することができます – Erik