0
這似乎是我迄今爲止最困難的問題,但也許我會讓它比需要的更難。我需要刪除可能或可能不在句子開頭的未知數量的嵌套元素。 span元素在圓括號中包含許多單詞。所以在句子中:在紅寶石中使用正則表達式去除Nokogiri元素
(密碼學,俚語)一個互聯網防火牆。
(密碼,俚語)看起來是這樣的:
<span class="ib-brac"><span class="qualifier-brac">(</span></span><span class="ib-content"><span class="qualifier-content">cryptography<span class="ib-comma"><span class="qualifier-comma">,</span></span> <a href="/wiki/Appendix:Glossary#slang" title="Appendix:Glossary">slang</a></span></span><span class="ib-brac"><span class="qualifier-brac">)</span></span>
我想一個好的解決方案是使用正則表達式,並引入nokogiri檢查的第一個「(」存在與否,如果是的話,刪除所有的跨度,直到關閉')',但我不知道如何做到這一點。我現在使用的解決方案不考慮跨度可變數目:
if definition.inner_html =~ /^<span class/
definition.search("span")[0..4].each do |span|
span.remove
end
end
我認爲你應該嘗試更好地解釋你試圖達到的目標,而不是立即建議該方法。我理解你的問題,因爲你有一個帶子括號的字符串,並且你想把它和所有封閉的SPAN一起刪除。 –