【问题标题】:Nokogiri selecting too much textNokogiri 选择了太多文本
【发布时间】:2012-07-20 14:50:37
【问题描述】:

使用 Nokogiri 和 Ruby,我尝试使用 CSS 选择器解析出街道地址。不过也包括我不想要的城市。

这是我正在使用的语句:

address = listing.at_css(".address").text

这里是 HTML:

<div class="address">
  117/1 Main St ,
  <span class="green">
  <strong>
   <u>
    <a href="city">Chicago</a>
   </u>
  </strong>
  </span>

我想要的结果:

117/1 Main St

但我得到的结果:

117/1 Main St , Chicago \n

我正在考虑将正则表达式与 Nokogiri 结合使用,但我不确定 Ruby 是否可以在 " ," 之后删除所有内容,包括返回删除 " , "

【问题讨论】:

    标签: ruby-on-rails ruby regex nokogiri


    【解决方案1】:

    这会返回117/1 Main St ,(带有空格和逗号):

    listing.at_css(".address").child.text
    

    这会返回117/1 Main St(删除空格和逗号):

    listing.at_css(".address").child.text.sub(/ ,$/,"")
    

    【讨论】:

    • 已关闭但仍无法正常工作。当我尝试 "hello , ".sub(/ ,$/,"") 时,我没有得到任何改变。如果我没有美元符号,它会变成“你好”,仍然有一个额外的空间。
    • 逗号后面还要加一个空格:/ , $/
    • 或者更好:.sub(/[ ,]+$/,'')(删除所有尾随空格和/或逗号)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2016-05-16
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多