如何在Python中更改部分输入?例如如果用户写下:;我喜欢吃辣的食物;或";我想吃垃圾食品;等等;吃食物";,无论他们之间有什么,都会变成";运行";因此输出变为"0";我喜欢跑步"我想跑步;。非常感谢。
编辑:这是我的第一篇文章,所以我还在学习。重试:
与此同时,我有这个:
def eat_food(s):
if "eat" and "food" in s:
return s.replace( ? , "running")
else:
return s
我需要的是这个:
input ("I want to eat junk food")
output = "I want to running"
or
input ("I like to eat hot food")
output = "I like to running"
希望现在更清楚了
对于这样的任务,您需要使用;正则表达式">
它允许您定义一个模板,如"介于单词"吃"one_answers"吃"之间的一切;然后在文本中搜索该模板。
要开始,请将正则表达式模块导入到您的程序中:
import re
在正则表达式"."中(点(表示匹配每个字母,"*"(星号(表示匹配零次或多次。
因此,您需要一个类似这样的正则表达式:'eat.*food'
,意思是match"吃";则任何字符的零个或更多;食物";。
要替换您发现的内容,请使用re
模块中的函数sub
:
def eat_food(s):
return re.sub('eat.*food', 'running', s)
answer = input('What do you like?')
print(eat_food(answer))
需要注意的一些事项:
Python中的字符串是不可变的,这意味着
sub
将返回一个带有替换项的新字符串,而不是更改现有字符串。如果用户输入"0";我喜欢"你应该用";运行";而不是";运行";正确的英语语法。