如何从HTML文本中删除空白



如何删除代码中的空格?如果我用Nokogiri解析这个HTML:

<div class="address-thoroughfare mobile-inline-comma ng-binding">Kühlungsborner Straße
                    10
                    </div>

我得到以下输出:

            Kühlungsborner Straße
            10

这不是左对齐的。

我的代码是:

address_street = page_detail.xpath('//div[@class="address-thoroughfare mobile-inline-comma ng-binding"]').text

请尝试strip:

address_street = page_detail.xpath('//div[@class="address-thoroughfare mobile-inline-comma ng-binding"]').text.strip

考虑一下:

require 'nokogiri'
doc = Nokogiri::HTML('<div class="address-thoroughfare mobile-inline-comma ng-binding">Kühlungsborner Straße
                    10
                    </div>')
doc.search('div').text
# => "Kühlungsborner Straßen                    10n                    "
puts doc.search('div').text
# >> Kühlungsborner Straße
# >>                     10
# >>                     

给定的HTML不会复制您遇到的问题。提供重复问题的有效输入非常重要。继续…

不要将xpathcsssearchtext一起使用。你通常不会得到你所期望的:

require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<html>
  <body>
    <div>
      <span>foo</span>
      <span>bar</span>
    </div>
  </body>
</html>
EOT
doc.search('span').class # => Nokogiri::XML::NodeSet
doc.search('span') # => [#<Nokogiri::XML::Element:0x3fdb6981bcd8 name="span" children=[#<Nokogiri::XML::Text:0x3fdb6981b5d0 "foo">]>, #<Nokogiri::XML::Element:0x3fdb6981aab8 name="span" children=[#<Nokogiri::XML::Text:0x3fdb6981a054 "bar">]>]

doc.search('span').text
# => "foobar"

请注意,text返回了找到的所有节点的连接文本。

相反,遍历NodeSet并获取单个节点的文本:

doc.search('span').map(&:text)
# => ["foo", "bar"]

相关内容

  • 没有找到相关文章

最新更新