擅长:python、mysql、java
<p>迭代输入副标题文件中的行,并将那些不以^{cd1>}(~)开头的行写入输出文件。</p>
<p>对于Python 2和3:</p>
<pre><code>with open('file.srt') as subs, open('outfile.srt', 'w') as out:
for line in subs:
if not line.startswith(u'\u266a'):
out.write(line)
</code></pre>
<p>如果要查找任何地方包含~ ~的行,请使用^{{cd2>}:</p>
^{pr2}$
<p>当然,这将删除以~”开头的所有<em>行,而不仅仅是歌曲结尾中的行。而且它甚至可能不有效,因为不同的字幕文件格式的作用不同。要仅删除这些字幕行,需要了解播放主题歌的时间范围,这需要了解字幕文件格式,因为时间代码表示形式不同。例如,SRT文件包含多行,用于每个字幕,如:</p>
^{pr3}$
<p>所以现在您需要检测以~ ~开头的行,然后备份并删除正在进行的2行,然后删除以下行。我不是文件格式专家。。。。第一行看起来像序列号,我不知道它是否必须是连续的。在这种情况下,通常更容易将整个文件读入列表,然后处理列表。</p>
<p>不管怎样,现在您知道如何检测以特定unicode字符开头的行,这样您就可以继续了。</p>