2017-09-28 6 views
0

私はNokogiriをRails 5で使用しています。私は現在、「行」は、Nokogiriを使用してテーブル行を解析するとき、colspanをどのように考慮しますか?

row_values = row.css('td, th').map{|str| str.text } 
              .map{|str| str.gsub(/[[:space:]]+/, ' ').gsub(/\A\p{Space}+|\p{Space}+\z/, '') }.join("\t") 

...配列として表のセルデータを抽出するためにこのコードを使用

<tr> 
    <td>1</td> 
    <td>2</td> 
    <td>3</td> 
</tr> 

は私のテーブルの行です。テーブルセルにcolspan属性が含まれている場合、colspanが占有する追加の行ごとに余分な空白要素を配列に追加するように、どうすればよいのですか?私の行が

<tr> 
    <td>1</td> 
    <td colspan="2">2</td> 
    <td>3</td> 
</tr> 

たのであれば、たとえば、私の配列は、もし2に「等しいCOLSPAN「第2のテーブルのセルが持っているので、そこに」私は」余分を持っている

["1", "2", "", "3"] 

お知らせになりますそれは "3"で、私の配列に2つの余分なものがあります。

答えて

0

一つの方法は、空のセルを追加することです:

doc.search('[colspan]').each{|td| td.after '<td></td>' * (td['colspan'].to_i - 1)} 

今、あなたはそれをあなたが

前に行った方法を行うことができます
関連する問題