Html 使用delimeter上的数据将字符串拆分为哈希数组

Html 使用delimeter上的数据将字符串拆分为哈希数组,html,ruby,string,Html,Ruby,String,我有一个字符串,如下所示: lorep ipsum <a href="#" class="link-1">dolor sit</a>amet, consectetur <a href="#" class="link-2">adipiscing</a> elit. 我尝试使用以下代码: string.split(/<[^>]>/) 但它只返回一个片段数组。我会使用 你为什么不尝试使用HTML解析器呢?使用nokogiri来解析字

我有一个字符串,如下所示:

lorep ipsum <a href="#" class="link-1">dolor sit</a>amet, consectetur <a href="#" class="link-2">adipiscing</a> elit.
我尝试使用以下代码:

string.split(/<[^>]>/)
但它只返回一个片段数组。

我会使用


你为什么不尝试使用HTML解析器呢?使用nokogiri来解析字符串不是太过分了吗?@kabukiman不,不是。建议使用Nokogiri解析HTML/XML。
['lorep ipsum ', ['link-1', 'dolor sit'], 'amet, consectetur', ['link-2', 'adipiscing'], ' elit.']
string.split(/<[^>]>/)
require 'nokogiri'

doc = Nokogiri::HTML.parse <<-eot
lorep ipsum <a href="#" class="link-1">dolor sit</a>amet, consectetur <a href="#" class="link-2">adipiscing</a> elit.
eot

ary = doc.search("//a").flat_map do |n,a|
   [n.previous_sibling.text.strip,{n['class'] => n.text.strip},n.next_sibling.text.strip]
end.uniq

p ary
["lorep ipsum", {"link-1"=>"dolor sit"}, "amet, consectetur", {"link-2"=>"adipis
cing"}, "elit."]