2012-07-20 36 views
0

使用Nokogiri和Ruby,我试图用CSS选择器解析出街道地址。但是,它也包括我不想要的城市。Nokogiri选择太多文字

这里是我使用的语句:

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是否可以在" ,"之后切除所有内容,包括回去切除" , "

回答

1

这将返回117/1 Main St ,(含空格和逗号):

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

这将返回117/1 Main St(去掉空格和逗号):

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

这是接近,但仍然没有工作。当我尝试“hello”.sub(/,$ /,“”)时,我没有任何改变。如果我没有美元符号,它会变成“你好”,仍然有额外的空间。 – Castielle 2012-07-20 15:48:58

+0

你必须在逗号后加上另一个空格:'/,$ /' – Stefan 2012-07-20 20:29:46

+0

这很有效,谢谢! – Castielle 2012-07-20 22:49:11