2014-01-23 120 views
0

enter image description here通過正則表達式從地址獲取城市名稱

如何從地址獲取城市名稱。這個城市就在省/州之前。在給定的快照中,城市將是科林伍德鎮。城市名稱將始終在最後一個逗號之前。讓我們再舉一個例子,

100詹姆斯·聖BLDN#5,
5樓,P.O箱555
XCity,XProvice

我需要獲取XCity和它轉儲到一個變量正則表達式。此外,它需要無論XCity之前和轉儲到另一個變量,即

地址= 100詹姆斯·聖 BLDN#5,5樓,郵政信箱555

城市= XCity

什麼分裂地址和城市是逗號或換行符。

任何人都可以幫助我在Ruby中實現它嗎?整個文本駐留在一個字符串變量中。

謝謝

回答

1

我是這麼認爲的,這可能工作:

split = address.split(',') 
city = split[split.length-2] if split.length >= 2 
0

試試這個,使用正則表達式:

r = /.*\s(?<city>[a-zA-Z]*),\s(?<prov>[a-zA-Z]*)/.match("100 James St. Bldn #5, Floor 5, P.O Box 555 XCity, XProvince") 

puts "City: #{r['city']}" 
puts "Province: #{r['prov']}" 
0

在Ruby中,你可以使用 「匹配」 功能:

s =「100 James St. Bldn#5, 5樓,P.O箱555 XCity,XProvice」 放小號

提出s.match( '[A-Z] [A-Z] *')

這將返回: