给定数组
["<p>>>>Lorem ipsum dolor</p>",
"<p>Lorem ipsum dolor <strong>sit amet, consectetur adipisicing</strong> elit, sed do eiusmod</p>",
"<p>.....</p>",
"<p> ...</p>",
"<p>tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,</p>",
"<p>quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>",
"<p>… </p>",
"<p>consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse</p>",
"<p>…</p>",
"<p>. . . </p>",
"<p> …</p>",
"<p>cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non</p>",
"<p>…</p>",
"<p>…</p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
"<p></p>",
"<p></p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>"]
我想接收没有段落标记的数组,其中包含…
或...
,在开头或结尾处有空格,并用{…
或...
替换包含"<p>…</p>"
或["<p>>>>Lorem ipsum dolor</p>",
"<p>Lorem ipsum dolor <strong>sit amet, consectetur adipisicing</strong> elit, sed do eiusmod</p>",
"<p>…</p>",
"<p>tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,</p>",
"<p>quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>",
"<p>…</p>",
"<p>consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse</p>",
"<p>…</p>",
"<p>cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non</p>",
"<p>…</p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
"<p></p>",
"<p></p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>"]
的标记{1}}
{{1}}
答案 0 :(得分:0)
我会循环遍历数组的每个元素,并将每个<p>. . .</p>
修改为所需的格式。
array.map! do |el|
if el =~ /<p>(((\s?\.)+(\s+)?)|(\s+)?…(\s+)?)<\/p>/
el = '<p>…</p>'
end
el
end
此代码将替换每个p标记。 。 。格式为<p>…</p>
,结果为
["<p>>>>Lorem ipsum dolor</p>",
"<p>Lorem ipsum dolor <strong>sit amet, consectetur adipisicing</strong> elit, sed do eiusmod</p>",
"<p>…</p>",
"<p>…</p>",
"<p>tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,</p>",
"<p>quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p>",
"<p>…</p>",
"<p>consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse</p>",
"<p>…</p>",
"<p>…</p>",
"<p>…</p>",
"<p>cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non</p>",
"<p>…</p>",
"<p>…</p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
"<p></p>",
"<p></p>",
"<p>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>"]
然后我将针对前一个元素检查每个元素,如果它与前一个元素匹配并且当前元素等于<p>…</p>
idx = array.length - 1
while idx > 0
if array[idx] == array[idx - 1] && array[idx] == '<p>…</p>'
array.delete_at(idx)
end
idx -= 1
end