提取字符串中第一个出现字母之前的任何数字


Extract any numbers before first occurrence of letter in string

我有街道地址字符串(例如,林肯街123号,公园大道2453号)。

我想提取每个字符串的街道编号,即每个地址中出现在字母之前的任何数字字符。

这样会起作用:

$streetNumber = preg_replace("/^([^ ]+)/i","$1",$streetAddress);

这将在第一个空格之前取出任何东西。

"123 Lincoln St." => "123"
"2453 Park Ave"   => "2453"
"123-a 1st St."   => "123-a"

如果你想要一个真正的整数,请使用:

$streetNumberInteger = intval($streetAddress);

由于您知道街道编号和名称将用空格分隔,因此可以尝试

    $array = explode(' ', $streetAddress);
    $number = $array[0];

$array[0]将始终在第一个空格之前提供字符串的第一部分。