[英]Split a string in php with delimiters
所以这是场景,我有以下字符串:
Detroit 7 Chicago 13 (FINAL)
我希望它返回如下数组:
array() {
["T1_Name"]=>"Detroit"
["T1_Score"]=>"7"
["T2_Name"]=>"Chicago"
["T2_Score"]=>"13"
["Quarter"]=>"FINAL"
}
诀窍是,由于名称中有空格的城市,所以不能用空格分隔,分数也可能是一位数或两位数。
$subject = 'Detroit 7 Chicago 13 (FINAL)';
$matches = array();
if (preg_match('~^(.+) ([0-9]{1,2}) (.+) ([0-9]{1,2}) \((.+)\)$~i', $subject, $matches)) {
var_dump($matches);
$result = array(
'T1_Name' => $matches[1],
'T1_Score' => $matches[2],
'T2_Name' => $matches[3],
'T2_Score' => $matches[4],
'Quarter' => $matches[5],
);
}
var_dump($result);
这样的事情应该做到。
大概是这样吗?
preg_match('/([a-zA-Z\s]+?)[\s]+([\d]+)([a-zA-Z\s]+?)[\s]+([\d]+)[\s]+\(([\w]+)\)/', "Detroit 7 Chicago 13 (FINAL)", $matches);
print_r($matches);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.