我尝试替换元音并使用此代码将il添加到它们中,但它没有用,帮助!
line=input("What do you want to say?\n")
line = line.replace('e', 'ile')
line = line.replace('o', 'ilo')
line = line.replace('a', 'ila')
line = line.replace('i', 'ili')
line = line.replace('u', 'ilu')
line = line.replace('y', 'ily')
print (line)
但如果你输入一个长句,它就会停止正常工作。
有人可以帮帮我吗?
想要打印“Hello world”
它打印:
Hililellililo wililorld
什么时候打印Hilellilo Wilorld
答案 0 :(得分:1)
尝试使用正则表达式替换所需的任何字母。像这样:
import re
re.sub(r'[eE]', 'i$0', "Hello World")
您可以替换任何想要放在方括号内的字母。
此外,'i$0'
是文字字符'i'
和$0
匹配的字母。
答案 1 :(得分:0)
"Hello world".replace('e', 'ie')
但你的问题不是很清楚,可能是你的意思不同。
答案 2 :(得分:0)
每当您在彼此之后进行多次替换时,您始终需要小心执行它们的顺序。 在你的情况下,首先把这个替换:
line = line.replace('i', 'ili')
否则它会替换以前完成的替换中的i。
当您需要进行多次更换时,通常最好使用避免这些问题的方法。 其中一个可以使用正则表达式,如已经提出的那样。另一种方法是从头到尾扫描文本,以便更换项目并在扫描过程中找到每个项目并在更换后继续扫描。