我有一个字符串AB0512CD123456
并使用 preg 匹配如何将其转换为
Array[0]='AB';
Array[1]='05';
Array[2]='12CD12';
Array[3]='3456';
那是大小为 2 的第一个元素,然后是 2、6、4 等。输入字符串可能是动态的。
我有一个字符串AB0512CD123456
并使用 preg 匹配如何将其转换为
Array[0]='AB';
Array[1]='05';
Array[2]='12CD12';
Array[3]='3456';
那是大小为 2 的第一个元素,然后是 2、6、4 等。输入字符串可能是动态的。
如果输入字符串长度是固定的,那么您只需要sscanf()
:
var_dump(sscanf('AB0512CD123456', '%2s%2s%6s%4s'));
输出:
array(4) {
[0]=>
string(2) "AB"
[1]=>
string(2) "05"
[2]=>
string(6) "12CD12"
[3]=>
string(4) "3456"
}
这个例子利用sscanf
了Paulo Freitas
<?php
$str="AB0512CD123456";
$pattern="2,3,4,5"; // Your pattern
$pattern=explode(",",$pattern);
foreach($pattern as $k=>$v)
{
$newpattern.="%".$v."s";
}
var_dump(sscanf($str,$newpattern));
更好地使用这个:
$str="AB0512CD123456";
$Array[0] = substr($str, 0,2);
$Array[1] = substr($str, 2,2);
$Array[2] = substr($str, 4,6);
$Array[3] = substr($str, 10,4);