Php 如何使用preg_split按符号拆分字符串?
例如,我有stringPhp 如何使用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) {
$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
也会捕获分隔符(整数)。可能的重复项