我有一个属性列表,如下所示:
1000 Rope Bend Ter
Labelle, FL 33935
Hendry County
15811 Hendry Isles Blvd
Clewiston, FL 33440
Hendry County现在我需要提取第1行,并将其放在地址字段下的MySQL数据库中,然后提取城市(始终是第2行,后面有一个逗号),提取州和邮政编码,将它们放在适当的MySQL列下。
因此,基本上,一个地址是3行,格式如上图所示。地址,换行符,城市,州,邮政编码,换行符县(我不需要县信息)。
有人能给出一个如何正确提取它的提示吗?
发布于 2012-08-20 15:37:35
编辑:更新正则表达式
Regex /^([^ ]+)\s*(.+)\s+([^,]+),\s*([^ ]+)\s*(.+)\s*(.+)/im应该可以工作。
在PHP中使用它的方法是:
<?php
$string = "1000 Rope Bend Ter\r\nLabelle, FL 33935\r\nHendry County\r\n15811 Hendry Isles Blvd\r\nClewiston, FL 33440\r\nHendry County";
preg_match_all("/^([^ ]+)\s*(.+)\s+([^,]+),\s*([^ ]+)\s*(.+)\s*(.+)/im", $string, $matches);
for ($i = 0; $i < count($matches[0]); $i++) {
echo "Street number: " . $matches[1][$i] . "<br />";
echo "Street name: " . $matches[2][$i] . "<br />";
echo "City: " . $matches[3][$i] . "<br />";
echo "State: " . $matches[4][$i] . "<br />";
echo "Zip: " . $matches[5][$i] . "<br />";
echo "County: " . $matches[6][$i] . "<br />";
echo "<br /><br />";
}
?>输出:
Street number: 1000
Street name: Rope Bend Ter
City: Labelle
State: FL
Zip: 33935
County: Hendry County
Street number: 15811
Street name: Hendry Isles Blvd
City: Clewiston
State: FL
Zip: 33440
County: Hendry County如果您需要解释Regex,请直接说出来。
https://stackoverflow.com/questions/12033715
复制相似问题