如何在Python中从用户定义的句子中删除用户定义的字母?
大家好,如果有人愿意花时间帮我编写一些python代码。
我目前正在做一个软件工程训练营,目前的要求是,我创建一个程序,其中用户输入一个句子,然后用户将输入字母,他/她希望从句子中删除。
我在网上搜索过,有很多关于从字符串中删除字母的文章和线程,但我找不到一篇关于如何从用户定义的字符串中删除用户定义的字母的文章或线程。
import re
sentence = input("Please enter a sentence: ")
letters = input("Please enter the letters you wish to remove: ")
sentence1 = re.sub(letters, '', sentence)
print(sentence1)
预期的结果应该是从用户定义的字符串中删除多个字母,但如果您只输入一个字母,这将删除一个字母。如果您输入多个字母,它将只打印原始句子。任何帮助或指导将不胜感激。
5条答案
按热度按时间irtuqstp1#
如果我没理解错的话,我们可以在这里使用
str.maketrans
和str.translate
方法,比如它逐行执行的操作:
None
的Map,这将被解释为“删除此字符”str
的转换表测试
比较
在我的PC上提供
因此在使用正则表达式和
str.join
'ing单字符str
ing之前,我们可能应该三思而后行。63lcw9qa2#
最好以
letters = 'abcd'
输入字母。如有必要,不要使用空格或标点符号。。
编辑:
这些实际上更好:
如果
\'
出现在字符串中,第一个方法也会删除它,尽管它是更好的解决方案uubf1zoe3#
您可以使用列表解析:
wkyowqbh4#
您的程式码无法如预期般运作,因为您提供的正则表达式只符合您给予的字母组合。您想要的是符合其中一个字母,这可以透过将它们放在括号中来达成,例如:
要获得更多regex帮助,我建议访问https://regex101.com/
w46czmvw5#
user_word = input(“您喜欢的句子是什么?“)
user_letter_to_remove = input(“您要删除哪些字母?“)
要删除字母列表
字母=字符串(要删除的用户字母)
对于字母中的i:使用者文字=使用者文字.replace(i,"”)
打印(用户_字)