You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何查找“ fps”前的逗号空格位置以提取长度不固定的FPS数值

从ffmpeg输出字符串中提取FPS数值的两种实现方案

方案1:按索引截取思路实现

你已经可以通过IndexOf拿到 fps的位置,接下来直接从该位置向前查找最近的, 分隔符位置即可,代码示例(C#):

string processOutput = "你的ffmpeg输出字符串";
int fpsSuffixPos = processOutput.IndexOf(" fps");
if (fpsSuffixPos > 0)
{
    // 从fps后缀位置向前搜索最近的前导`, `分隔符
    int separatorPos = processOutput.LastIndexOf(", ", fpsSuffixPos);
    if (separatorPos > 0)
    {
        // 截取两个位置中间的内容并去除首尾空白字符
        string fpsValueStr = processOutput.Substring(separatorPos + 2, fpsSuffixPos - separatorPos - 2).Trim();
        double fps = double.Parse(fpsValueStr);
    }
}

该方案性能更高,适合批量处理大量输出字符串的场景。

方案2:正则匹配(更简便)

直接通过正则规则匹配, 和 fps中间的数值部分,无需手动处理索引逻辑,代码更简洁:

using System.Text.RegularExpressions;

// 匹配规则:逗号+空格开头,后接整数/小数,后接空格+fps
Match fpsMatch = Regex.Match(processOutput, @", (\d+\.?\d*) fps");
if (fpsMatch.Success)
{
    double fps = double.Parse(fpsMatch.Groups[1].Value);
}

该方案代码可读性更高,无需手动处理边界判断逻辑。

内容的提问来源于stack exchange,提问作者SideSky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 04:15:03