使用 php 在整数值之前划分字符串

Divide string before integer value using php

我有一些随机类型的字符串,我希望它们彼此分开。 我的字符串是这样的:

 1.  GPF#: AUDITKT0059 800,126.00
 2.  GPF#: IV EMP KK 8 58,971.00
 3.  GPF#: GAKU 000006 317,253.00

我想获取 GPF 值,但问题是 string.I 的最后一个值只需要像 AUDITKT0059IV EMP KK 8GAKU 000006 这样的值。我试过了通过使用 GPF 爆炸然后 space 但这不是它的方式 works.So 有什么建议吗?谢谢 我这样试过:

$gpf = explode("GPF#:", $data[$c]);

             $gpfs = explode(" ", $gpf[1]);
             print_r($gpfs);
            echo " GPF# ".$gpfs[0]."<br />\n";

您可以像这样使用简单的正则表达式:

_(.*)_

请注意,我使用 _ 只是为了显示白色 space </code>。</p> <p><strong><a href="https://regex101.com/r/9MxwMz/2/" rel="nofollow noreferrer">Working demo</a></strong></p> <p>Php代码</p> <pre><code>$re = '/ (.*) /'; $str = 'GPF#: AUDITKT0059 800,126.00 GPF#: IV EMP KK 8 58,971.00 GPF#: GAKU 000006 317,253.00'; preg_match_all($re, $str, $matches); // Print the entire match result var_dump($matches);

这里我使用正则表达式提取数据,请尝试

$data = [
    "GPF#: AUDITKT0059 800,126.00",
    "GPF#: IV EMP KK 8 58,971.00",
    "GPF#: GAKU 000006 317,253.00",
];
foreach ($data as $string) {
    $match = [];
    preg_match("/^GPF#: ([A-Z0-9 ]{11}) .*$/", $string, $match);
    echo "GPF#: " . $match[1], PHP_EOL;
}

结果将是

GPF#: AUDITKT0059
GPF#: IV EMP KK 8
GPF#: GAKU 000006