PHP - 拆分街道名称和街道地址

PHP - Split street name and street address

我需要从街道名称中删除街道号码。当没有 Avenue ABC 之类的数字部分或街道名称以 10. Street 46.

之类的数字开头时,我会遇到问题

我现在的正则表达式是:

([^\d]+)\s?(.+)

这些是测试字符串:

St. Stephen 12
Avenue ABC
Avenue AB
10. Street 46

结果应如下所示:

array = (0 => 'St. Stephen', 1 => '12')
array = (0 => 'Avenue', 1 => 'ABC')
array = (0 => 'Avenue', 1 => 'AB')
array = (0 => '10. Street', 1 => '46')

实时正则表达式:http://www.phpliveregex.com/p/cil

您可以使用下面的正则表达式,它会生成两次捕获,其中一个包含最后一个 space 之后的所有字符,而另一组包含最后一个词。

^(.+)\s(.+)

DEMO