我有以下input.html,其中有几个重复的<p>..</p>
元素。例如,<p><strong><span style="color:blue; font-size: 24px;">Midmarket</span></strong></p>
重复3次。
input.html
<html>
<body>
<p><strong><span style="color:blue; font-size: 24px;">Midmarket</span></strong></p>
<p><strong><span style="color:green; font-size: 20px;">Car</span></strong><p>
<p>France</p>
<p>2178</p>
<p><strong><span style="color:blue; font-size: 24px;">Midmarket</span></strong></p>
<p><strong><span style="color:green; font-size: 20px;">Car</span></strong><p>
<p>Germany</p>
<p>888</p>
<p><strong><span style="color:blue; font-size: 24px;">Midmarket</span></strong></p>
<p><strong><span style="color:red; font-size: 20px;">Mon</span></strong><p>
<p>Germany</p>
<p>921</p>
<p><strong><span style="color:#F87217; font-size: 24px;">Government</span></strong></p>
<p><strong><span style="color:green; font-size: 20px;">Car</span></strong></p>
<p>Canada</p>
<p>1618.5</p>
<p><strong><span style="color:#F87217; font-size: 24px;">Government</span></strong></p>
<p><strong><span style="color:green; font-size: 20px;">Car</span></strong><p>
<p>Germany</p>
<p>1321</p>
<p><strong><span style="color:#F87217; font-size: 24px;">Government</span></strong></p>
<p><strong><span style="color:green; font-size: 20px;">Car</span></strong><p>
<p>Germany</p>
<p>1513</p>
<p><strong><span style="color:#F87217; font-size: 24px;">Government</span></strong></p>
<p><strong><span style="color:red; font-size: 20px;">Mon</span></strong><p>
<p>France</p>
<p>1899</p>
<p><strong><span style="color:#C48189; font-size: 24px;">Enterprise</span></strong></p>
<p><strong><span style="color:red; font-size: 20px;">Mon</span></strong><p>
<p>Canada</p>
<p>2665.5</p>
<p><strong><span style="color:#C48189; font-size: 24px;">Enterprise</span></strong></p>
<p><strong><span style="color:red; font-size: 20px;">Mon</span></strong><p>
<p>Canada</p>
<p>345</p>
</body>
</html>
而且我想删除重复的<p>..</p>
元素,仅保留每个元素的第一次出现。
out.html
<html>
<body>
<p><strong><span style='font-size:24px;color:blue;'>Midmarket</span></strong></p>
<p><strong><span style='font-size:20px;color:green;'>Car</span></strong></p>
<p>France</p>
<p>2178</p>
<p>Germany</p>
<p>888</p>
<p><strong><span style='font-size:20px;color:red;'>Mon</span></strong></p>
<p>Germany</p>
<p>921</p>
<p><strong><span style='font-size:18px;color:#F87217;'>Government</span></strong></p>
<p><strong><span style='font-size:20px;color:green;'>Car</span></strong></p>
<p>Canada</p>
<p>1618.5</p>
<p>Germany</p>
<p>1321</p>
<p>1513</p>
<p><strong><span style='font-size:20px;color:red;'>Mon</span></strong></p>
<p>France</p>
<p>1899</p>
<p><strong><span style='font-size:18px;color:#C48189;'>Enterprise</span></strong></p>
<p><strong><span style='font-size:20px;color:red;'>Mon</span></strong></p>
<p>Canada</p>
<p>2665.5</p>
<p>345</p>
</body>
</html>
我试图在数组中添加<p>
元素,然后调用uniq
,但是它不起作用,因为数组a
的长度与数组b
的长度相同>>
我该怎么做?
require 'nokogiri'
doc = File.open("input.html") { |f| Nokogiri::HTML(f) }
a=[]
doc.css("p").each{|el| a.push(el) }
b = a.uniq
我有以下input.html,其中包含多个重复的
..
元素。例如,Midmarket
&...这可能会引导您朝正确的方向前进,例如,您是否要删除第二辆Car,尚不清楚您的示例,但问题是要删除重复的p's