用PHP中的第一个数字拆分一个字符串

Kar*_*rem 1 php preg-match

我想拆分这样的字符串:

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)

rai*_*7ow 6

改为使用超前模式进行拆分(因此您不必处理捕获的分隔符),然后将组数限制为仅两个(使用第三个参数preg_split:

$key= "Mystreetway 123, 1.th";
$pattern = '/(?=\d)/';

$array = preg_split($pattern, $key, 2);
print_r($array);
Run Code Online (Sandbox Code Playgroud)