[過去ログ] 初心者の質問相談にやさしく答えるスレ Part13 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
253
(1): 2020/10/11(日)07:47 ID:B4RTOxqM(1/2) AAS
Ruby で作った。ただし、ファイルを2回読んでるけど

TEXT = <<'EOT'
aa.html
foo
bb.html
cc.html
EOT

# 文字列を含む行番号を、配列に入れる
line_numbers = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号
ary.push( line_num ) if line.include? "html" # 含む
end

# 上の配列から、連続している行番号だけを残す。2次元配列を平坦化する
consecutive_numbers = line_numbers.chunk_while{ |prev, nxt| prev + 1 == nxt }.
select { |ary| ary.length >= 2 }.flatten!

unless consecutive_numbers
puts "連続している行はありません!"
return # 処理なし
end

results = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号
if line_num == consecutive_numbers[ 0 ]
consecutive_numbers.shift # 先頭の要素を取り除く
else
ary.push( line )
end
end

print results.join
254: 253 2020/10/11(日)07:54 ID:B4RTOxqM(2/2) AAS
シェルスクリプト、sed, awk は、
覚えることが多くて、ややこしくて出来ない

漏れは可読性・保守性を優先してるから、Ruby しか書けない。
基本、Rubyだと英語のように読めるから
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.920s*