我正在尝试拆分荷兰地址,但我有点卡住了。
问题是荷兰街道上可能有数字。
$input_string = "name3 street 24a";
$address = "";
$number = "";
$addition = "";
$matches = array();
if(preg_match('/(?P<address>[^'d]+) (?P<number>'d+.?)/', $input_string, $matches)){
$address = $matches['address'];
$number = $matches['number'];
if (preg_match('/(?P<nr>[^'d]+) (?P<addition>'d+.?)/', $number, $matches)) {
$number = $matches['nr'];
$addition = $matches['addition'];
}
} else { // no number found, it is only address
$address = $input_string;
}
echo $address . "'n";
echo $number. "'n";
echo $addition. "'n";
这将忽略"name3"。
我想我正在尝试去除最后一个数字和一个可选的字母。谁能帮我解决这个问题?
示例输入:
名称3街22A
街道 3
街道 3A
博士街 24a
我想我正在尝试去除最后一个数字和一个可选的字母。
这可以通过遵循正则表达式来完成。
正则表达式:(?:'d+[a-z]*)$
说明:它查找一个number
,后跟一个可选的letter
。
更换要做:用nothing
替换。
正则表达式 101 演示