gpt4 book ai didi

c# - 如何使用 C# 修改文本文件中的特定行?

转载 作者:行者123 更新时间:2023-11-30 14:16:40 26 4
gpt4 key购买 nike

我有这样的电影字幕的 srt 文件:

1
00:00:00,082 --> 00:00:04,352
bbb bbb bb
bbbb

2
00:00:08,486 --> 00:00:12,662
bbb bbb bbb

3
00:00:12,824 --> 00:00:14,963
bbb
bbbb bb

我想给分钟添加常量值(这样字幕会稍后显示)。我该怎么做?

我已经有了这个代码:

class MainClass
{

public static void Main (string[] args)
{
StringBuilder sb = new StringBuilder();

using(FileStream fs = new FileStream(@"sb.srt",FileMode.Open,FileAccess.ReadWrite))
{
using(StreamReader sr = new StreamReader(fs))
{
while( sr.Read()!=-1 )
{
sb.AppendLine(sr.ReadLine());
}
}
}
}
}

最佳答案

这是一个完整的程序。只需将时间跨度更改为您要添加的数量即可

const string format = @"hh\:mm\:ss\,fff";
static void Main(string[] args)
{
string input = File.ReadAllText("sb.srt");
Regex r = new Regex(@"(\d\d):(\d\d):(\d\d),(\d\d\d)");
input = r.Replace(input, m=> AddTime(m));
File.WriteAllText("sb.srt", input);
}

private static string AddTime(Match m)
{
TimeSpan t = TimeSpan.ParseExact(m.Value, format, CultureInfo.InvariantCulture);
t += new TimeSpan(0, 1, 0);
return t.ToString(format);
}

关于c# - 如何使用 C# 修改文本文件中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com