0

次のような ruby​​ の複数行の文字列 (efixes と呼ばれる) があります。

ID  STATE LABEL      INSTALL TIME      UPDATED BY ABSTRACT
=== ===== ========== ================= ========== ======================================
1    S    hayo32.02   xxxxxxx xxxxxxxx            xxxxxxxxxxxxxxx
2    S    23434.23    xxxxxxx xxxxxxxx            xxxxxxxxxxxxxxx

STATE codes:
S = STABLE
M = MOUNTED
U = UNMOUNTED
Q = REBOOT REQUIRED
B = BROKEN
I = INSTALLING
R = REMOVING
T = TESTED
P = PATCHED
N = NOT PATCHED
SP = STABLE + PATCHED
SN = STABLE + NOT PATCHED
QP = BOOT IMAGE MODIFIED + PATCHED
QN = BOOT IMAGE MODIFIED + NOT PATCHED
RQ = REMOVING + REBOOT REQUIRED

数字で始まる行のみを表示したい。マッチングしていないようで困っています。ここでこの解決策を見つけました(今は本当に理解していません):

efixes_array = efixes.split("\n").select{|x| /\A[0-9]/.match(x)}
io.puts efixes_array.collect{|x| x.scan(/\A[0-9]/)}.flatten

数字を合わせているだけです。行全体を表示したい。最終結果、「LABELS」列の下にあるものを表示したいと思います。

4

1 に答える 1

0

サンプルコードのこの行

efixes.split("\n").select{|x| /\A[0-9]/.match(x)}

数字で始まるすべての行を含む配列を返します。

于 2012-08-10T02:34:29.743 に答える