将字符串分别拆分为字符和数字


Breaking a string into characters and numbers separately

我有一个类似的字符串

HCl3C24

我想像一样在php中破坏这个字符串

array(0 => H , 1 => Cl, 2 => 3 , 3 => C, 4 => 24)

现在我正在尝试:

$matches = array();
$string = "HCl4";
preg_match_all('/([0-9]+|[a-zA-Z]+)/',$string,$matches);
print_r($matches[0]);

它不适用于字符,但适用于数字。有人能在这里帮我吗?

使用此正则表达式:

/([0-9]+|[a-zA-Z])/

如果你想要[ "H", "Cl", 3, "C", 24 ],那么

/([0-9]+|[A-Z][a-z]*)/

您还可以将该字符串的每个字符视为数组来访问:

$string = "HCl4";
echo $string[0] // prints H
echo $string[1] // prints C
echo $string[2] // prints l
echo $string[3] // prints 4