我在创建一个使用短信缩写字典的函数时遇到了麻烦,并使用字典来编写可以翻译成英语的函数。例如:“你好吗?”翻译为“你为什么迟到?” 所以我到目前为止:(我不需要每一个发短信的短语)
def text(string):
textDict={'y':'why', "l8":'late','u':'you','gtg':'got to go', 'lol': 'laugh out loud', 'ur': 'your',}
任何帮助表示赞赏!
答案 0 :(得分:6)
如果你有替换词典,你可以这样做:
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()])
答案 1 :(得分:1)
str.split()拆分为数组,array.join()将其连接回来。
如果句子中有标点符号,则无效。你必须检测到它并使用没有标点符号的单词作为键
答案 2 :(得分:0)
你可以拆分文本字符串,如果它的部分在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
答案 3 :(得分:0)
对于一些更精细的尝试lookahead-lev。我是为了类似的情况而做的。只需将您的“thumblish”放入yaml文件并调用即可。它被设计成一个Web服务,但您可以根据自己的需要对其进行修改。