|
本帖最后由 Y罢不能 于 2024-2-23 22:38 编辑
比如原:欢迎来到喝杯省!比如原:欢迎来到呵呗省!
用拼音 进行替换 he bei = 河北
替换后:欢迎来到河北省!
目前用的是单字分割然后转拼音合并双字然后对比,效率贼慢。已经跟不上效率了,有没有更好的办法。
是实时转字幕用的,语音识别的不准,所以需要用拼音来匹配, 比如cao chao 等。识别的很模糊,所以需要模糊替换。
|
弹幕替换_转拼音替换 | 文本型 | | |
原文本 | 文本型 | | | | pinyin | 文本型 | | | | 替换内容 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本单字数组 | 文本型 | | 0 | x | 整数型 | | | 拼音字数 | 整数型 | | | 拼音数组 | 文本型 | | 0 | z | 整数型 | | | 临时txt | 文本型 | | | g | 整数型 | | | 临时结果文本 | 文本型 | | | 临时txt2 | 文本型 | | | 定位数 | 整数型 | | | 总文本个数 | 整数型 | | | 文本_逐字分割 (原文本, 文本单字数组 )拼音数组 = 分割文本 (pinyin, “ ”, )拼音字数 = 取数组成员数 (拼音数组 )总文本个数 = 取数组成员数 (文本单字数组 )定位数 = 0 计次循环首 (总文本个数, x ) 临时txt = “”临时txt2 = “”如果 (x + 拼音字数 - 1 ≤ 总文本个数 )计次循环首 (拼音字数, z )临时txt = 临时txt + 文本单字数组 [x + z - 1 ]计次循环尾 ()如果 (文本_转拼音 (临时txt, , , ) = 删全部空 (pinyin )) 计次循环首 (总文本个数, g )如果真 (定位数 < g )如果 (g < x )临时txt2 = 临时txt2 + 文本单字数组 [g ]跳出循环 ()计次循环尾 ()定位数 = x - 1 + 拼音字数 临时结果文本 = 临时结果文本 + 临时txt2 + 替换内容 跳出循环 ()计次循环尾 ()临时结果文本 = 临时结果文本 + 取文本右边_单字 (原文本, 总文本个数 - 定位数 )如果 (临时结果文本 = “”)返回 (原文本 )返回 (临时结果文本 )
文件 https://yuii.lanzouj.com/i0aAC1p6wtrg
|
|