如何在PHP中将字母与数字分开

时间:2019-03-14 00:20:00

标签: php string split

我的字符串如下:

$str = "Q1-Q4,A3-A6,S9-S11";

有人可以告诉我如何在PHP中分割上面的文本,以便得到如下输出结果:

  

Q1,Q2,Q3,Q4,A3,A4,A5,A6,S9,S10,S11

2 个答案:

答案 0 :(得分:2)

这应该可以帮助您。这将分隔序列,添加额外的项目,并将所有这些作为一个数组方便地返回。

$str = "Q1-Q4,A3-A6,S9-S11";

$ranges = explode (',', $str);
$output = [];

foreach ($ranges as $range) {

    $items = explode ('-', $range );
    $arr = [];
    $fillin = [];

    $letter = preg_replace('/[^A-Z]/', '', $items[0]);
    $first  = preg_replace('/[^0-9]/', '', $items[0]);
    $last   = preg_replace('/[^0-9]/', '', end($items));


    for($i = $first; $i-1 < $last; $i++) {
        $fillin[] = $letter . $i;
    }

    $output[]  = $fillin;

}

var_dump( $output );
exit;

答案 1 :(得分:1)

您将要使用正则表达式分割字符串,preg_split是在这种情况下使用的理想函数:

$str = "Q1-Q4,A3-A6,S9-S11";
$temp = preg_split('/[-,]/',$str);
print_r($temp);

希望这会有所帮助,