如果我有一个视频游戏脚本,由俄语代码和语音线(用背景音表示)组成:
d [lv 0*"19"*"11900001"]`"............Вы...`[@][lv 0*"19"*"11900002"]`снова стали злоупотреблять алкоголем, не так ли?"`[\]
lss s0_8,"nan","a1_fumu1" ;1
aspt2 xpos,s0_8,-370
flush 10,167
msgwnd_non
*d2
d `Пожилой врач, вздохнув, убрал стетоскоп.`[\]
*d3
d `В мрачном кабинете, в воздухе которого смешались пыль и тошнотворно‐приторный запах, можно было увидеть двух пожилых мужчин.`[\]
textoff
waits 167
csp_slot s0_8
lbg s0_1,"mlib_1b_bg"
lbg s0_3,"mlib_1b"
flush 24
*d4
d `В углу этой комнаты, намного более просторной, чем обычный кабинет,`[@]` стояла дорогая кровать, на которой находился человек, проходящий медицинское обследование, а рядом — его врач.`[@]`{n}Также в кабинете находился ещё один человек, походивший на слугу и молча наблюдавший за процессом.`[\]
lss s0_10,"kin","a11_defo1" ;1
aspt2 xpos,s0_10,370
flush 10,167
msgwnd_kin
*d5
d [lv 0*"01"*"11500001"]`"Спиртное — мой друг.`[@][lv 0*"01"*"11500002"]` Для меня оно не меньший друг, чем ты, да и пробыло оно со мной гораздо дольше тебя."`[\]
msgwnd_non
*d6
d `Непоколебимым тоном заявил человек, на груди которого секунду назад был стетоскоп, поправляя одежду.`[\]
lss s0_8,"nan","a1_komaru3" ;1
aspt2 xpos,s0_8,-370
flush 10,167
msgwnd_nan
*d7
以及一份文本文件,该文本文件的英文译本仅由语音线(也由背景符号分隔)组成,无代码:
`"............You've...`
`been indulging in alcohol again, haven't you?"`
`The old physician let out a sigh as he removed the stethoscope.`
`Two elderly men could be seen in the dimly lit study, which was filled with dust and a sickly sweet stench.`
`In the corner of this room, which was much larger than what most people would call a study,`
` there was an expensive‐looking bed, a man undergoing a medical examination, and the physician conducting it.`
`{n}There was also what appeared to be a servant watching over the whole scene.`
`"The bottle is my friend.`
` It is no less of a friend than you, and it has stood by my side even longer than you have."`
`The man who had bared his chest for the stethoscope spoke unapologetically as he straightened out his clothes.`
如果上述俄文视频游戏脚本是一个文本文件,由数十万行文本和数万条语音线组成,而我有一份相应的英文成绩单(也是一个文本文件),仅由上述语音线组成,我是否可以简单地将视频游戏脚本中的每一条俄语语音线替换为相应的英语语音线
PS:两个文件中的行显示顺序相同。因此,脚本("............Вы...
)中背景标记中的第一个俄语语音线对应于英语转录本("............You've...
)中的第一个语音线。第一个文件中的每N个语音线对应于第二个文件中的第N个语音线
由于您说过两个列表的顺序相同,因此可以使用
zip
并行迭代它们:您只需要计算出
some_regex
需要是什么,以便捕获反勾号之间的第一次出现,等等。 提示:在repl中开发这样的东西很容易使用regex并使用文件是迭代器这一事实,可以最轻松地完成这一点:
该模式将匹配所有背景标记对及其内部的所有内容-see the demo
然后用一个函数替换下一行译文,从而确保译文与原文相符
您可能需要对文件的编码进行一些调整,以使其正确。我能够通过以下方式使其工作:
相关问题 更多 >
编程相关推荐