如何从html表中删除链接的文本

时间:2015-01-31 03:59:13

标签: ruby nokogiri

我想在html表中提取纯文本(也就是说,我不想抓取包括红色箭头在内的信息),

但是,我试图通过 cell.text 获取纯文本,它将获得不必要的超链接'文本

"\n            central tendency1 \n          "

我希望我能得到

"central tendency"

所以我尝试了cell.text.strip.downcase.gsub!(/\d/, "")

然而 gsub 方法也会清除绿色矩形中的信息。

除了超链接文本之外,有没有办法获取html中的文字?

这是我需要解析的html link

1 个答案:

答案 0 :(得分:0)

您可以在使用nokogiri转换为文本之前删除所有链接:

table = doc.css(".page table")[0]
table.css("a").each(&:remove)

编辑:或者,您可以使用正则表达式,只删除字符串末尾的数字,如果它们前面有一个字母,这似乎可能适用于此特定情况但不能依赖于在类似情况下工作:

cell.text.strip.downcase.gsub(/(?<=\w)\d$/, "")