Ruby on rails 通过正则表达式从地址中获取城市名称

Ruby on rails 通过正则表达式从地址中获取城市名称,ruby-on-rails,ruby,regex,Ruby On Rails,Ruby,Regex,我如何从地址中获取城市名称。这座城市紧挨着省/州。在给定的快照中,该城市将是科林伍德镇。城市名称将始终位于最后一个逗号之前。再举一个例子, 100詹姆斯街5号,第5层,邮政信箱555号 我需要一个正则表达式来获取XCity并将其转储到变量中。此外,它会在XCity之前获取任何内容,并将其转储到另一个变量中,即 地址=詹姆斯街100号。 555号邮政信箱5楼5楼 城市=城市 将地址和城市分开的是逗号或换行符 有人能帮我用Ruby实现吗?整个文本驻留在一个字符串变量中 谢谢你我想这样可以: spli

我如何从地址中获取城市名称。这座城市紧挨着省/州。在给定的快照中,该城市将是科林伍德镇。城市名称将始终位于最后一个逗号之前。再举一个例子,

100詹姆斯街5号,第5层,邮政信箱555号

我需要一个正则表达式来获取XCity并将其转储到变量中。此外,它会在XCity之前获取任何内容,并将其转储到另一个变量中,即

地址=詹姆斯街100号。 555号邮政信箱5楼5楼

城市=城市

将地址和城市分开的是逗号或换行符

有人能帮我用Ruby实现吗?整个文本驻留在一个字符串变量中


谢谢你

我想这样可以:

split = address.split(',')
city = split[split.length-2] if split.length >= 2
使用正则表达式尝试以下操作:

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']}"
r=/.\s(?[a-zA-Z]*),\s(?[a-zA-Z]*)/.match(“詹姆斯街100号,5楼,邮政信箱555 XCity,X省”)
放置“城市:#{r['City']}”
放入“省:#{r['prov']}”

在ruby中,您可以使用“匹配”函数:

s=“100詹姆士圣伯顿5, 5楼,邮政信箱555 XCity,Xprovide“ 放置

放置s.match(“[A-Z][A-Z]*,”)

这将返回:城市,