2013-04-21 2 views
1

Скажите, что я тяну адрес от div.body h3 a. Проблема в том, что, если я хочу только часть адреса? Например, если html читается: <a href="/usa/sale/100-happy-street">100 Happy Street #PH </a>Nokogiri: как отобразить частичный вывод селектора css?

Как я могу сказать, я хочу отображать только PH?

+2

Использовать регулярное выражение:) ... – ahmet

+0

Но откуда я могу показать только что-то вроде #PH и игнорировать остальные? – DynastySS

+1

Можете ли вы точно определить, что означает «что-то вроде #PH»? Если да, то вы можете выразить это как регулярное выражение. –

ответ

1
anchor = doc.at('div.body h3 a') # the <a …>…</a> element 
link = anchor.text    # "100 Happy Street #PH " 
last = link[ /#([^#]+)/, 1 ]  # "PH" 

Это регулярное выражение (которое не имеет ничего общего с Рубином на Rails или Nokogiri) извлекает весь текст из строки, которая приходит после того, как в строке последнего #, предполагая, что есть по крайней мере один #. Вы можете получить аналогичный результат с last = link.split("#").last.

Смежные вопросы