次のサンプルから「前後の空白行」と「ip」を一気に削除したい
削除と言えば、個人的にgsub()メソッドです。
lines = <<~EOS
dns,ip,address
dns,ip,address
dns,ip,address
EOS
【Rubyコード】
puts "加工前"
p lines
puts "-------------------------"
puts lines
puts lines.length
puts "-------------------------"
lines.gsub!(/^\s*|\s*$|ip/, "") #破壊する
puts "加工後"
puts "-------------------------"
puts lines
puts lines.length
puts "-------------------------"
(※「破壊する」とは。もとの文字列を上書き更新することです。少なくとも素人プログラマーには便利です。注意も必要です。)
ポイントがどこかわかりますね?「 | 」です。
上記のコードでは複数に同じ処理をしたい!ということですね。
Rubyではスラッシュの間に正規表現を記述します。「 / 正規表現 / 」
縦棒「 | 」で区切れば、贅沢マッチ(笑)ができます!
「/ 正規表現 | 正規表現 | 正規表現 /」
いままでたぶん使ったことあると思いますが、忘れてしまっています。
自分は量を管理できない寄りの人間なので、量を少なくして、見える化して、考え方で補っていきたいと思っています。
余談でした笑。