使用python替换字符串中字符的所有实例

时间:2014-02-15 05:34:56

标签: python string python-3.x replace

尝试用新字符替换字符串中给定字符的所有实例。以下是我的代码:

def main():
    s='IS GOING GO'
    x='I'
    y='a'

   rep_chr(s,x,y)


def find_chr(s,char):
    i=0
    for ch in s:
        if ch==char:
            return (i)
            break        
        i+=1
    return -1
def rep_ch(s,x,y):
    result=""

    for char in s:

        if char == x:
            print(result=result+ y )        
        else:
            return char   
main()

编辑代码,但它仍然用'a'替换第一个'I'而忽略第二个'I'。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

for i in range(s1):

此处s1是一个字符串,您将其传递给range函数,该函数只需要数字作为参数。那就是问题所在。你应该使用字符串的长度

for i in range(len(s1)):

但是,您的实际问题可以通过str.replace来解决,就像这样

s='IS GOING GO'
x='I'
y='a'
print(s.replace(x, y))

如果你想在没有str.replace的情况下解决,你可以这样做

s, result, x, y ='IS GOING GO', "", "I", "a"
for char in s:
    if char == x:
        result += y
    else:
        result += char
print(result)

<强>输出

aS GOaNG GO

同样的程序也可以像这样编写

s, result, x, y ='IS GOING GO', "", "I", "a"
for char in s:
    result += y if char == x else char
print(result)