我有一本字典。例如
dict = { "wd":"well done", "lol":"laugh out loud"}
问题是,如果文本中有类似"lol?"
的内容,那么它根本就没有展开。我正在用下面的代码替换字典:
问题是由于'lol'
和'?'
之间缺少空格。我如何解决这个问题?在
之后,建议更新代码如下:
dict1 = {
"wd":"well done",
"lol":"laugh out loud"
}
def contractions(text, contractions_dict=dict1):
for key in contractions_dict:
text = text.replace(key, contractions_dict[key])
return text
text = "lol?"
text=contractions(text)
print(text)
对于上面的示例,但是在长文本中,此代码正在进行不希望的替换。在
例如,lwhyear olduckwhyeahnt lookingia和团队努力表达对whyear oldwhyear olduckwhyeahhandal seato的理解
这是我得到的实际数据的一部分结果。需要帮助。在
如果您查看visaversa,有一个更好的解决方案,对于每个键,用该键的值替换整个文本中的它:
另外,请注意:
样本输入和输出:
^{pr2}$你的错误来自于你拆分文本的方式。python中
str.split()
的默认大小写在空白处,这意味着“wtf?”不是分开的。在正如您在documentation中看到的那样结构分裂()可以接收要使用的分隔字符列表。在
您可以使用以下方法解决此特定问题:
text.split(sep=[' ', '?'])
但最有可能的是,您希望更多的字符用作分隔点。在
不要检查文本是否是字典的一部分,而是遍历字典并检查键是否在文本中。但不建议这样做,因为它包含嵌套循环。在
相反,您可能希望使用replace方法自动替换每个键的每次出现。“替换”将自动查找并替换该单词。不需要自己迭代文本。在
^{pr2}$相关问题 更多 >
编程相关推荐