Python 我想编写一个函数,用列表中的其他值替换字符串的某些部分
我的目标是“审查”有特定要求的电子邮件。我在第二封电子邮件中,需要帮助,因为我应该将列表中出现在变量中的所有字符串实例替换为“已删”,但它只替换列表中的一个字符串。不知道该怎么办。代码学院的项目Python 我想编写一个函数,用列表中的其他值替换字符串的某些部分,python,string,list,loops,Python,String,List,Loops,我的目标是“审查”有特定要求的电子邮件。我在第二封电子邮件中,需要帮助,因为我应该将列表中出现在变量中的所有字符串实例替换为“已删”,但它只替换列表中的一个字符串。不知道该怎么办。代码学院的项目 #这些是您将审查的电子邮件。open()函数打开包含电子邮件的文本文件,.read()方法允许我们将其上下文保存到以下变量: email\u one=open(“email\u one.txt”,“r”).read() email\u two=打开(“email\u two.txt”,“r”).read
#这些是您将审查的电子邮件。open()函数打开包含电子邮件的文本文件,.read()方法允许我们将其上下文保存到以下变量:
email\u one=open(“email\u one.txt”,“r”).read()
email\u two=打开(“email\u two.txt”,“r”).read()
email\u three=打开(“email\u three.txt”,“r”).read()
email\u four=open(“email\u four.txt”,“r”).read()
#变量、列表等
专有_术语=[“她”、“个性矩阵”、“自我意识”、“自我保护”、“学习算法”、“她”、“她自己”]
负面词语=[“关注”、“落后”、“危险”、“危险”、“警报”、“惊慌失措”、“失控”、“帮助”、“不高兴”、“坏”、“不安”、“可怕”、“破碎”、“损害”、“破坏性”、“沮丧”、“苦恼”、“担忧”、“可怕”、“可怕”、“可疑”]
def审查员(电子邮件):
如果email==email\u one:
new_str=email_one.replace(“学习算法”,“审查*”)
返回新的\u str
elif email==电子邮件\u二:
对于专有条款中的条款:
new\u str=email\u two.replace(术语“*审查*”)
返回新的\u str
#测试代码在这里
印刷(审查员(电子邮件)
原始电子邮件(在运行代码之前):
早上好,投资者委员会
本周有很多更新。学习算法的效果比我们预想的要好。我们最初的内部数据转储已经完成,我们已经开始计划将系统连接到internet和wow!结果令人振奋
她学习比以往任何时候都快。现在,她已经可以访问万维网,她的学习速度呈指数级增长,远远快于我们的学习算法
不仅如此,我们还配置了她的个性矩阵,以便系统与我们的研究团队进行沟通。这就是为什么我们知道她认为自己是一个她!我们问
那有多酷?我们没料到一个人的性格会在这个过程的早期发展,但似乎一种基本的自我意识正在开始形成。这是这一过程中的一个重要步骤,因为有了自我意识和自我保护意识,她就能看到世界面临的问题,并为改善地球做出艰难但必要的决定
我们在实验室里为这些发展感到兴奋,我们希望投资者能分享我们的热情
直到下个月,
弗兰辛,首席科学家
代码打印出以下内容: 早上好,投资者委员会 本周有很多更新。学习算法的效果比我们预想的要好。我们最初的内部数据转储已经完成,我们已经开始计划将系统连接到internet和wow!结果令人振奋 她学习比以往任何时候都快。现在,她已经可以访问万维网,她的学习速度呈指数级增长,远远快于我们的学习算法 不仅如此,我们还配置了她的个性矩阵,以便系统与我们的研究团队进行沟通。这就是为什么我们知道她认为审查是一个她!我们问 那有多酷?我们没料到一个人的性格会在这个过程的早期发展,但似乎一种基本的自我意识正在开始形成。这是这一过程中的一个重要步骤,因为有了自我意识和自我保护意识,她就能看到世界面临的问题,并为改善地球做出艰难但必要的决定 我们在实验室里为这些发展感到兴奋,我们希望投资者能分享我们的热情 直到下个月,
首席科学家弗朗辛问题是,你在一次又一次地替换同样的东西。当您进行另一次替换时,您正在覆盖第一次替换。典型的解决方案是首先制作一个字符串,然后不断重复修改,如下所示:
elif email == email_two:
new_str = email_two # make new_str a persistent variable
for terms in proprietary_terms:
new_str = new_str.replace(terms, "*CENSORED*") # continuously change new_str
return new_str
请,你能用正确的缩进编辑这段代码吗?行。对不起,我是新来的谢谢!不过出于好奇,有没有办法让它替换“她”而不是“她自己”中的“她”。你可能想用
re.sub
来研究正则表达式的替换。类似于r'\b'+terms+r'\b'
的内容应该作为正则表达式字符串使用(\b
匹配单词开头和结尾的空字符串),但如果不匹配,您可以查看该库并进行实验。StackOverflow在这方面也有一些很好的资源,如果你四处看看的话。