如何从地址中获取城市名称。这个城市就在省/州之前。在给定的快照中,该城市将是科林伍德镇。城市名称将始终位于最后一个逗号之前。让我们再看一个例子,
100 James St. Bldn#5,第5楼,P.O Box 555
XCity,XProvice
我需要一个正则表达式来获取XCity并将其转储到变量中。此外,它需要在XCity之前的任何内容并转储到另一个变量,即
地址= 100 James St. Bldn#5,Floor 5,P.O Box 555
city = XCity
分割地址和城市的位置是逗号或换行符。
任何人都可以帮助我在Ruby中实现它吗?整个文本驻留在字符串变量中。
谢谢
答案 0 :(得分:1)
我认为这样可行:
split = address.split(',')
city = split[split.length-2] if split.length >= 2
答案 1 :(得分: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']}"
答案 2 :(得分:0)
在ruby中,您可以使用“匹配”功能:
s =“100 James St. Bldn#5, 第5栏,第555栏 XCity,XProvice“ 放s
放s.match('[A-Z] [a-z] *,')
这将返回:城市,