繁体   English   中英

用分隔符在php中分割字符串

[英]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);

这样的事情应该做到。

PHP preg_match

大概是这样吗?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM