python函数 - 将短信语言转换为英语?

时间:2011-06-03 17:44:00

标签: python dictionary

我在创建一个使用短信缩写字典的函数时遇到了麻烦,并使用字典来编写可以翻译成英语的函数。例如:“你好吗?”翻译为“你为什么迟到?” 所以我到目前为止:(我不需要每一个发短信的短语)

def text(string):  
    textDict={'y':'why', "l8":'late','u':'you','gtg':'got to go', 'lol': 'laugh out loud', 'ur': 'your',}

任何帮助表示赞赏!

4 个答案:

答案 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)

  1. 字符串需要拆分为单词
  2. 然后遍历每个单词并将其替换为字典中的单词(如果找到)
  3. 然后,从单词重构一个新字符串并将其返回。
  4. 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服务,但您可以根据自己的需要对其进行修改。