Нокогири: как разобрать фрагмент текста? - PullRequest
3 голосов
/ 14 сентября 2011

У меня есть такой пример:

html= <<EOT
<div>Some text1
  <p>Some text2</p>
</div>
EOT
doc = Nokogiri::HTML(html)
puts doc.css('div').text

Это составляет:

Some text1
  Some text2

Но мне нужно только "Some text1"

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011
doc.css('div').children.first.text
# => "Some text1\n  "

doc.css('div').children.first.text.rstrip
# => "Some text1" 
1 голос
/ 14 сентября 2011

Одно выражение XPath и strip доставят вас туда:

some_text1 = doc.xpath('//div/text()[1]').text.strip
...