いくつかのテーブル行を除外する電子メールを削っています。私はテーブルの行は正確にを見てなどの必要があります。テーブルの行の特定の内容のテーブル行のみを選択する方法
<tr>
<td class="quantity"> ANYTHING BUT EMPTY </td>
<td class="description"> ANYTHING BUT EMPTY </td>
<td class="price"> ANYTHING BUT EMPTY </td>
</tr>
なしクラスまたはIDを持っていません。さらに、これらのクラスのセルを含む不要な値のある<table>
行がありますが、値のないものもあります。したがって、これらの3つのクラスのセルと3つのセルすべてが空でない値を持つテーブル行のみを取得する必要があります。私はこれを行うには、構文のか分からない:
body = Nokogiri::HTML(email)
wanted_rows = body.css('tr').select{ NOT SURE HOW TO ENCAPSULATE LOGIC HERE }
通常、 '{{e | ...} 'どこに何かを意味するあなたの要素' e'のメソッド呼び出しがあります。たとえば、少なくとも1つの空白以外の文字をテストするには、 'e.html.match(/ \ S /)'のようにします。 – tadman
一般的な選択とイテレータの仕組みを理解していますが、空でないセルを含むテーブル行を選択するためのロジックをカプセル化する方法がわかりません。 – TDB
ようこそ。このような質問をすると、データを含む2行とそうでない1行など、問題を示す最小限のデータを持つHTMLのより良い例を提供すると助けになります。 "[mcve]"はこれについて語ります。あなたが私たちを手伝ってくれるほど、より速く私たちがあなたを助けることができ、質問とデータがより正確になればなるほど、私たちはより正確になります。それはあなたが他の言葉で私たちを助けるのに役立ちます。入力を調整するために余分な作業を行うことはできますが、それは私たちを遅らせ、実際には助けを失います。 –