2024-09-30 04:30:19 发布
网友
示例:Speak->;spubake,more info here
不要给我一个解决方案,但要指出正确的方向,或者告诉我可以使用哪个python库?我在想regex,因为我必须找到一个元音,但是我可以用哪种方法在元音前面插入'ub'?在
正则表达式确实是最好的路径。如果不确定如何继续,请检查捕获组的工作方式,以及如何将它们包含在替换中。在
它比简单的regex e.g.,更复杂
"Hi, how are you?" → "Hubi, hubow ubare yubou?"
简单的regex不会捕捉到e在are中不发音。在
e
are
您需要提供发音字典的库,如nltk.corpus.cmudict:
nltk.corpus.cmudict
示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- import re sent = "Hi, how are you?" subent = " ".join(["".join(map(spubeak, re.split("(\W+)", nonblank))) for nonblank in sent.split()]) print('"{}" → "{}"'.format(sent, subent))
"Hi, how are you?" → "Hubay, hubaw ubar yubuw?"
注:它与第一个例子不同:每个单词都用它的音节代替。在
可以使用正则表达式进行替换。见^{}。在
>>> import re >>> re.sub(r'(e)', r'ub\1', 'speak') 'spubeak'
您需要阅读regex组的文档,等等。你还需要弄清楚如何匹配不同的元音,而不仅仅是示例中的元音。在
{a3}这是一个很棒的Python设计的{和一个使用a3}代码的链接
Cainteoir的文本到语音规则引擎设计(尚未完全实现)使用正则表达式。另请参见Cainteoir作者的另一篇文章Pronunciation Dictionaries and Regexes。在
正则表达式确实是最好的路径。如果不确定如何继续,请检查捕获组的工作方式,以及如何将它们包含在替换中。在
它比简单的regex e.g.,更复杂
简单的regex不会捕捉到
e
在are
中不发音。在您需要提供发音字典的库,如
^{pr2}$nltk.corpus.cmudict
:示例:
输出
注:它与第一个例子不同:每个单词都用它的音节代替。在
可以使用正则表达式进行替换。见^{} 。在
示例:
您需要阅读regex组的文档,等等。你还需要弄清楚如何匹配不同的元音,而不仅仅是示例中的元音。在
{a3}这是一个很棒的Python设计的{和一个使用a3}代码的链接
Cainteoir的文本到语音规则引擎设计(尚未完全实现)使用正则表达式。另请参见Cainteoir作者的另一篇文章Pronunciation Dictionaries and Regexes。在
相关问题 更多 >
编程相关推荐