【问题标题】:Divide string before integer value using php使用php在整数值之前将字符串除以
【发布时间】:2017-12-08 05:09:44
【问题描述】:

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

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

我想获取 GPF 值,但问题是字符串附带的最后一个值。我只想要 AUDITKT0059IV EMP KK 8GAKU 000006 之类的值。我尝试用 GPF 爆炸,然后用空格爆炸,但这不是它的工作方式。所以有什么建议吗?谢谢 我试过这样:

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

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

【问题讨论】:

标签: php regex string explode


【解决方案1】:

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

_(.*)_

请注意,我使用 _ 只是为了显示一个空格

Working demo

php代码

$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);

【讨论】:

  • 产生错误匹配的可能性,取决于输入字符串。
【解决方案2】:

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

$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多