我有一个体育成绩。我需要将其划分为团队和分数,但问题是有时团队的名称中有多个单词,例如:
$str = "New Mexico State 75 Alabama 84 FINAL";我尝试过这样的东西:
$arr= preg_split("/[\s]+/", $str);它只是被空间分割,这不是我想要的。我需要输出为:
$arr[0] = 'New Mexico State';
$arr[1] = '75';
$arr[2] = 'Alabama';
$arr[3] = '84';发布于 2017-01-18 07:36:41
使用preg_match_all函数的解决方案:
$str = "New Mexico State 75 Alabama 84 FINAL";
preg_match_all("/(\D+)((?:\d+\b))/", $str, $matches, PREG_SET_ORDER);
$result = [];
foreach ($matches as $m) {
$result[] = trim($m[1]);
$result[] = $m[2];
}
print_r($result);输出:
Array
(
[0] => New Mexico State
[1] => 75
[2] => Alabama
[3] => 84
)https://stackoverflow.com/questions/41708835
复制相似问题