将文本语言转换为英语的python函数?
我在创建一个函数时遇到了问题,该函数使用了一个文本缩写词典,并且使用该词典编写了翻译成英语和从英语翻译过来的函数。例如:“YRUL8?”翻译成“你为什么迟到?” 到目前为止,我已经做到了:(我不需要每一个短信短语)将文本语言转换为英语的python函数?,python,dictionary,Python,Dictionary,我在创建一个函数时遇到了问题,该函数使用了一个文本缩写词典,并且使用该词典编写了翻译成英语和从英语翻译过来的函数。例如:“YRUL8?”翻译成“你为什么迟到?” 到目前为止,我已经做到了:(我不需要每一个短信短语) 感谢您的帮助 您可以拆分文本字符串,如果它的部分在textDict中,并且如果它们被替换为字典的内容: def translate(text_string, text_dict): for word in text_string.split(): if word
感谢您的帮助 您可以拆分文本字符串,如果它的部分在textDict中,并且如果它们被替换为字典的内容:
def translate(text_string, text_dict):
for word in text_string.split():
if word in text_dict:
text_string = text_string.replace(word, text_dict[word]
return text_string
您可以拆分文本字符串,如果它的部分在textDict中,如果它们是,则用字典的内容替换它们:
def translate(text_string, text_dict):
for word in text_string.split():
if word in text_dict:
text_string = text_string.replace(word, text_dict[word]
return text_string
如果句子中有标点符号,这就行不通了。您必须检测到这一点,并使用不带标点符号的单词作为关键字如果您有替换词典,您可以执行以下操作:
replacements = {
'lol': 'laugh out loud',
'y': 'why',
'l8': 'late',
'u': 'you',
'r': 'are'
}
s1 = 'y r u l8'
s2 = ' '.join([replacements.get(w, w) for w in s1.split()])
如果您有替换词典,您可以执行以下操作:
replacements = {
'lol': 'laugh out loud',
'y': 'why',
'l8': 'late',
'u': 'you',
'r': 'are'
}
s1 = 'y r u l8'
s2 = ' '.join([replacements.get(w, w) for w in s1.split()])
想要更精致一点的,试试看。我是为类似的情况做的。只需将您的“拇指文”放入yaml文件并调用它。它被设计成一个web服务,但您可能会修改它以满足您的需要。要获得更详细的信息,请尝试。我是为类似的情况做的。只需将您的“拇指文”放入yaml文件并调用它。它被设计成一个web服务,但您可能会修改它以满足您的需要。这将在单词中找到单词。例如“toy”将变成“towhy”,没有考虑到这一点,我的不好。这将在单词中找到单词。例如,“toy”将变成“towhy”没有考虑到这一点,我的错。@g.d.d.c的代码比我的好——看看这个。@g.d.d.c的代码比我的好——看看这个。thnks!我发现了一些相似的东西,但是,答案没有任何间隔。我如何给返回的答案加上空格?@snwflke00-你能解释一下你所说的空格是什么意思吗?您指的是换行符/额外的空白吗?如果是这样,将
s1.split()
更改为s1.split(“”)
将导致它只在空格上拆分,而不影响任何其他空格(新行等)。否则,请提供输入文本的较大示例。:)@snwflke00:“答案没有空格”:也许你需要''。加入(..)
而不是''。加入(..)
sry!我的意思是,当给出答案时,它会说“whyareyoulate”,而不是“why you late”@snwflke00-听起来你好像错过了”.join()中的空格
。您必须指出应该使用什么字符串来连接返回列表的成员。在本例中,是空格。thnks!我发现了一些类似的东西,但是答案没有任何空格。我如何在返回的答案中添加空格?@snwflke00-您能解释一下空格的含义吗?您指的是brea行吗ks/额外的空白?如果是这样,将s1.split()
更改为s1.split(“”)
将导致它只在空格上分割,而不影响任何其他空白(新行等)。否则,请提供输入文本的更大示例。@snwflke00:“答案出来时没有任何空格”:可能您需要“”。加入(..)
而不是“”。join(..)
sry!我的意思是,当给出答案时,它说的是“whyareyoulate”,而不是“why you late”@snwflke00-听起来好像你错过了“”。join()
。你必须指出应该使用什么字符串来连接返回列表的成员。在这种情况下,是一个空格。