在 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 中,我将如何做到这一点?
如果它真的只是你所追求的那个数字并且字符串总是以你开始,你可以简单地使用这样的类型转换"frame="
从那个点开始剪辑字符串:(int)
echo (int)substr($string, 6); // 7840
如果您的字符串的开头有任何变化,我强烈建议您使用正则表达式,这已经在其他答案中提供。
这是正则表达式正确的工具:
if (preg_match("#frame=\s*(\d+)#", $string, $match)) {
$number = $match[1];
}
这个正则表达式会做到这一点:
if (preg_match('/frame=\s*(\d+)/', $string, $match)) {
$number = $match[1];
}