如何从 HTML 文本中删除白色 space

How to remove white space from HTML text

如何删除代码中的空格?如果我用 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ße\n                    10\n                    "
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"]