0

私は次のようなコンテンツを持っています

カリフォルニア州サンクレメンテ 92673

また

テキサス州アーリントン 76012-3693

そして、それを と に分割する必要がCityAndStateありZipます。
いくつか

私はしようとしています:

$moreAddressInfo = preg_split('^[0-9.]{5,}^', $row2['cityAndZip'],null,PREG_SPLIT_DELIM_CAPTURE);

(フラグなしでも試してみました)
... CityState 部分は正常に返されますが、メインの Zip 情報が欠落
しています (上記の 2 つの例では、$moreAddressInfo[1]はそれぞれ'''-3693'になります) .

ポインタはありますか?

4

1 に答える 1

2

これを試して:

$moreAddressInfo = preg_split('~\s+(?=[0-9]{5})~', $row2['cityAndZip']);
  • \s+1 つ以上の空白文字に一致します。

  • (?=[0-9]{5})前向きな先読みです。文字列の次の部分が 5 桁であると主張しますが、それらを消費しません。

したがって、区切り文字は空白の後に 5 桁の数字が続きます。

于 2012-04-13T00:00:09.993 に答える