找到div中的所有包含元素 - Ruby

Bit*_*ise 0 ruby ruby-on-rails

我有这个字符串:

串:

"<div class='break'><div class='name-and-date'><strong>Mr. Talon 
 Williamson - Dec 18,  1:47 PM Eastern</div></strong><div class='note-
 contents'>- wrong</div></div><div class='break'><div class='name-and-
 date'><strong>Mr. Talon Williamson - Dec 18,  1:47 PM Eastern</div>
 </strong><div class='note-contents'>- Wrong again</div></div><div 
 class='break'><div class='name-and-date'><strong>Mr. Talon Williamson 
 - Dec 18,  1:47 PM Eastern</div></strong><div class='note-contents'>- 
 okay what is the matter with you.</div></div><div class='break'><div 
 class='name-and-date'><strong>Mr. Talon Williamson - Dec 18,  1:50 PM 
 Eastern</div></strong><div class='note-contents'>- Bro!</div></div>"
Run Code Online (Sandbox Code Playgroud)

在这个字符串中有一个div,它具有"break"类.我正在尝试删除该div的最后一次出现以及它包含的所有内容.

所以从那个字符串我希望它返回:

希望获得此回报:

"<div class='break'><div class='name-and-date'><strong>Mr. Talon 
 Williamson - Dec 18,  1:47 PM Eastern</div></strong><div class='note-
 contents'>- wrong</div></div><div class='break'><div class='name-and-
 date'><strong>Mr. Talon Williamson - Dec 18,  1:47 PM Eastern</div>
 </strong><div class='note-contents'>- Wrong again</div></div><div 
 class='break'><div class='name-and-date'><strong>Mr. Talon Williamson 
 - Dec 18,  1:47 PM Eastern</div></strong><div class='note-contents'>- 
 okay what is the matter with you.</div></div>"
Run Code Online (Sandbox Code Playgroud)

当前的尝试:

compliance_string.scan(/<div class='break'>/).last
Run Code Online (Sandbox Code Playgroud)

但这只是返回div而不是所有包含元素及其内容.

Urs*_*sus 5

使用nokogiri宝石

require 'nokogiri'

html_doc = Nokogiri::HTML(your_html_string)
html_doc.css('.break:last-child').to_s
=> "<div class=\"break\">\n<div class=\"name-and-date\"><strong>Mr. Talon Williamson - Dec 18,  1:50 PM \n Eastern</strong></div>\n<div class=\"note-contents\">- Bro!</div>\n</div>"
Run Code Online (Sandbox Code Playgroud)