gpt4 book ai didi

ruby - 在 Nokogiri 元素中编辑文本或使用正则表达式

转载 作者:数据小太阳 更新时间:2023-10-29 08:34:54 26 4
gpt4 key购买 nike

有没有办法编辑 nokogiri 元素的文本?我有一个包含列表元素 ( <li> ) 的 nokogiri 元素,我想在保留 <li> 的同时从文本中删除一些字符HTML。具体来说,我想删除文本中的前导“:”字符(如果存在)。 nokogiri 元素似乎没有 text= 方法,但我只是想确定一下。

也许我必须使用正则表达式?如果是这样,如果它看起来像这样,我将如何删除前导“:”:

<li>: blah blah blah</li>

附注我正在使用 ruby 。

最佳答案

#!/usr/bin/ruby1.8

require 'rubygems'
require 'nokogiri'

html = <<EOS
<ul>
<li>: blah blah blah</li>
<li>: foo bar baz</li>
</ul>
EOS

doc = Nokogiri::HTML.parse(html)
for li in doc.xpath('//li/text()')
li.content = li.content.gsub(/^: */, '')
end
puts doc.to_html

# => <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
# => <html><body><ul>
# => <li>blah blah blah</li>
# => <li>foo bar baz</li>
# => </ul></body></html>

关于ruby - 在 Nokogiri 元素中编辑文本或使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com