Php 如何使用preg_split按符号拆分字符串?

Php 如何使用preg_split按符号拆分字符串?,php,preg-replace,preg-match,Php,Preg Replace,Preg Match,例如,我有string$s='A5C7'和$s='A5C17' 我尝试使用preg_split('/',$s,-1,preg_split_NO_EMPTY)按符号拆分字符串 如果字符串$s='A5C7'我得到了如下的OK结果: array(4) { [0]=> string(1) "A" [1]=> string(1) "5" [2]=> string(1) "C" [3]=> string(1) "7" } array(4) {

例如,我有string
$s='A5C7'
$s='A5C17'

我尝试使用
preg_split('/',$s,-1,preg_split_NO_EMPTY)按符号拆分字符串

如果字符串
$s='A5C7'
我得到了如下的OK结果:

array(4) {
  [0]=>
  string(1) "A"
  [1]=>
  string(1) "5"
  [2]=>
  string(1) "C"
  [3]=>
  string(1) "7"
}
 array(4) {
      [0]=>
      string(1) "A"
      [1]=>
      string(1) "5"
      [2]=>
      string(1) "C"
      [3]=>
      string(1) "17"
    }
但是如果使用
$s='A5C17'
我得到:

我想要这样:

array(4) {
  [0]=>
  string(1) "A"
  [1]=>
  string(1) "5"
  [2]=>
  string(1) "C"
  [3]=>
  string(1) "7"
}
 array(4) {
      [0]=>
      string(1) "A"
      [1]=>
      string(1) "5"
      [2]=>
      string(1) "C"
      [3]=>
      string(1) "17"
    }
如何改进
preg_split('/',$s,-1,preg_split_NO_EMPTY)用于获取两种类型的结果?

提前感谢。

使用模式
/
将拆分字符。请尝试以下方法:

preg_split('/(\\d+)/', $s, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);

array (
  0 => 'A',
  1 => '5',
  2 => 'C',
  3 => '17',
);
此模式使用连续整数组作为拆分分隔符,它将捕获它们之间的内容。选项
PREG\u SPLIT\u DELIM\u CAPTURE
也会捕获分隔符(整数)。

可能的重复项