2012-07-20 57 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