我有这样的内容
圣克莱门特, CA 92673
或
阿灵顿, TX 76012-3693
我需要将其分为CityAndState
和Zip
.
一些
我在努力:
$moreAddressInfo = preg_split('^[0-9.]{5,}^', $row2['cityAndZip'],null,PREG_SPLIT_DELIM_CAPTURE);
(也尝试没有标志)
...CityState部分返回得很好,但缺少
主要的Zip信息(对于上述两个示例,$moreAddressInfo[1] 将分别等于 '' 和 '-3693')。
有什么指示吗?
试试这个:
$moreAddressInfo = preg_split('~s+(?=[0-9]{5})~', $row2['cityAndZip']);
s+
匹配一个或多个空格字符。(?=[0-9]{5})
是一个积极的展望;它断言字符串的下一部分是五位数,但不消耗它们。
因此,您的分隔符是一些空格,后跟五位数字。