我想拆分这样的字符串:
Mystreetway 123, 1.th
Run Code Online (Sandbox Code Playgroud)
这样我就可以拥有以下输出数组:
0 => Mystreetway
1 => 123, 1.th
Run Code Online (Sandbox Code Playgroud)
=这样它就可以将字符串拆分为找到的第一个整数,并且这个和之后的所有内容都会进入第二个拆分.
我尝试了以下找到的解决方案:
$key= "Mystreetway 123, 1.th";
$pattern = "/(\d+)/";
$array = preg_split($pattern, $key, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
但它返回以下内容:
[0] => Mystreetway [1] => 123 [2] => , [3] => 1 [4] => .th
Run Code Online (Sandbox Code Playgroud)
改为使用超前模式进行拆分(因此您不必处理捕获的分隔符),然后将组数限制为仅两个(使用第三个参数preg_split:
$key= "Mystreetway 123, 1.th";
$pattern = '/(?=\d)/';
$array = preg_split($pattern, $key, 2);
print_r($array);
Run Code Online (Sandbox Code Playgroud)