如何在preg_split中的下一项中保留分隔符



我用一组字符分割字符串作为

$str = 'a-1 90 b55 0 -4 4 c9';
$array = preg_split('#(?<=[abc])#',$str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);

它将前一个元素中的分隔符保留为(演示(

Array
(
[0] => a
[1] => -1 90 b
[2] => 55 0 -4 4 c
[3] => 9
)

但我想把它作为保存在下一个项目中

Array
(
[0] => a-1 90
[1] => b55 0 -4 4
[2] => c9
)

使用先行而非后向:

$str = 'a-1 90 b55 0 -4 4 c9';
$array = preg_split('#(?=[abc])#',$str, -1, PREG_SPLIT_NO_EMPTY);
print_r($array);

由于您在正则表达式中没有使用任何捕获组,因此不需要使用PREG_SPLIT_DELIM_CAPTURE标志。

代码演示

相关内容

  • 没有找到相关文章

最新更新