如何用规范化的单词替换srt文件中的发音符号?
我有一个罗马尼亚的srt,我想用jellyfin播放一部电影,但是我遇到了一个问题,这个应用程序不支持像ĂăÂâÎîȘșȚț
这样的特殊字符,所以我想把它们去掉。
我尝试使用unidecode,但是单词被奇怪地替换为ț
-〉th
,ș
-〉o
'我也尝试过只使用sed来替换字符,但一些字符(如ș
)显示为º
,因此以下函数无法替换它们:
def strip_accents(s):
d = 'ĂăÂâÎîȘșȚț'
n = 'AaAaIiSsTt'
dl = [i for i in d]
nl = [i for i in n]
ii = 0
for x in dl:
s = re.sub(x, nl[ii], s)
ii += 1
return s
3条答案
按热度按时间rks48beu1#
对于字幕,先用记事本打开,然后使用保存为,在此步骤中
Encoding:UTF-8
然后保存:
你可以这个代码列表:
vcirk6k62#
所以,多亏了github托管的repo,我找到了一种方法来做我想要的事情。我只是简单地用正确的发音符号
ș
Ș
替换了奇怪的字符º,
ª
,然后一切都按照我想要的方式工作了。我不需要替换发音符号来让字幕工作。https://github.com/pckltr/corecteaza-subtitrari/
Python代码:
8iwquhpp3#
我知道这是一个老帖子,但是对于那些想要这种脚本的人,可以同时运行多个srt文件,我做了一个使用os和pysrt的python脚本。
首先你需要在终端中运行
pip install pysrt
,然后创建一个python文件并放入包含你想要修改的srt文件的文件夹中,然后你只需运行它,它就可以工作了!我这样做的目的是为了易于使用,但是您可以自己指定路径并将文件放在单个目录中