繁体   English   中英

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

[英]Replacing all instances of a character in a string using python

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

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()

编辑了代码,但仍将第一个“ I”替换为“ a”,而忽略了第二个“ I”。 有什么建议吗?

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM