我有像
这样的内容San Clemente,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'。
任何指针?
答案 0 :(得分:2)
试试这个:
$moreAddressInfo = preg_split('~\s+(?=[0-9]{5})~', $row2['cityAndZip']);
\s+
匹配一个或多个空白字符。
(?=[0-9]{5})
是一个积极的向前看;它断言字符串的下一部分是五位数,但消耗它们。
所以你的分隔符是一些空格,后跟五位数。