-1

在 PHP 中,我有一个这样的字符串:

$string = "frame= 7840 fps= 53 q=0.0 size=  651693kB time=00:04:19.99 bitrate=20533.9kbits/s eta=00:00:22.63"

我需要将数字 7840 提取到它自己的字符串中。问题是数字 7840 可以是任何数字,例如 1 或 2034321。关键是,无论 frame= 之后的数字是什么,都需要提取到它自己的字符串中。在 PHP 中,我将如何做到这一点?

4

3 回答 3

1

如果它真的只是你所追求的那个数字并且字符串总是以你开始,你可以简单地使用这样的类型转换"frame="从那个点开始剪辑字符串:(int)

echo (int)substr($string, 6); // 7840

如果您的字符串的开头有任何变化,我强烈建议您使用正则表达式,这已经在其他答案中提供。

于 2013-07-26T22:38:24.600 回答
0

这是正则表达式正确的工具:

if (preg_match("#frame=\s*(\d+)#", $string, $match)) {
    $number = $match[1];
}
于 2013-07-26T22:32:34.267 回答
0

这个正则表达式会做到这一点:

if (preg_match('/frame=\s*(\d+)/', $string, $match)) {
    $number = $match[1];
}
于 2013-07-26T22:32:42.920 回答