使用replace()函数在Python中一次替换多个文本(字符串)

这是我的代码:

start_j = raw_input('Enter a name: ')
start_j = start.replace("A", "J")
start_j = start.replace("B", "J")
start_j = start.replace("C", "J")
print "Your name is " + start_j

反正有没有将所有字母放在一个列表中,这样我就不必一次又一次地重复相同的过程,直到我达到字母“Z”
我尝试使用循环,但我似乎仍然无法正确地做到这一点.

这是一个场景:
系统将提示用户输入名称.
如果名称包含“J”以外的字母,则将使用replace()函数自动替换它.
因此它将从J开始输出输入

这是一个例子:

site = raw_input('Enter your website: ')
site = site.replace("http://", "")
site = site.replace("https://", "")
site = site.replace("ftp://", "")
print "Your website is: " + site

预期输入为http://www.google.com
所以预期的结果会变成:

Enter your website: http://www.google.com
Your website is: www.google.com

我正在寻找一种方法将“http://”,“https://”,“ftp://”全部放在一个列表中,这样我就不用输入了

site = site.replace("something", "something)

多次

最佳答案 你可以用这个:

remove_from_start = ["http://", "https://", "ftp://"]
for s in remove_from_start:
    if site.startswith(s):
        site = site[len(s):]
        break

或基于正则表达式的解决方案:

import re
regex = '^(https?|ftp)://'
site = re.sub(regex, '', site)
点赞