将短信语言转换为英语的Python函数?
我在创建一个函数时遇到了一些问题,这个函数需要用到一个包含短信缩写的字典,然后用这个字典来写一些可以翻译成英文和从英文翻译回去的函数。例如:“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
- 首先,需要把字符串分割成单词。
- 然后,逐个检查每个单词,如果在字典里找到了,就用字典里的词替换掉它。
- 最后,把这些单词重新组合成一个新的字符串,并返回这个字符串。
可以用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()])