将短信语言转换为英语的Python函数?

1 投票
4 回答
1709 浏览
提问于 2025-04-16 18:55

我在创建一个函数时遇到了一些问题,这个函数需要用到一个包含短信缩写的字典,然后用这个字典来写一些可以翻译成英文和从英文翻译回去的函数。例如:“y r u l8?” 这个句子可以翻译成“你为什么迟到了?”

到目前为止,我已经做到了这个:(我不需要每一个短信短语)

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

任何帮助都非常感谢!

4 个回答

0

如果你想要一些更复杂的东西,可以试试 lookahead-lev。我做这个是为了应对类似的情况。你只需要把你的“thumblish”放进一个yaml文件里,然后调用它就可以了。这个工具是为了做网络服务设计的,不过你可能可以修改它来满足你的需求。

1
  1. 首先,需要把字符串分割成单词。
  2. 然后,逐个检查每个单词,如果在字典里找到了,就用字典里的词替换掉它。
  3. 最后,把这些单词重新组合成一个新的字符串,并返回这个字符串。

可以用str.split()把字符串分割成一个数组,然后用array.join()把它们再连接起来。

不过,如果句子里有标点符号,这样做就不行了。你需要先识别出标点,然后用去掉标点的单词作为查找的关键。

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()])

撰写回答