繁体   English   中英

在python中替换字符串中的字符

[英]replacing a character in a string in python

我正在尝试使用 python 替换字符串中的字符。 我正在使用一个名为 find_chr 的函数来查找需要替换的字符的位置。

def main():
    s='IS GOING GO'
    x='N'
    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_chr(s1,s2,s3):
    return print(s1==s1[0:find_chr(s1,s2)]+s3+s1[(find_chr(s1,s2)+1):])


main()

我的问题是,该函数没有获取新字符串,而是返回 'False'。 我将不胜感激任何指针来获取替换的字符串。

改变

return print(s1==s1[0:find_chr(s1,s2)]+s3+s1[(find_chr(s1,s2)+1):])

return s1[0:find_chr(s1,s2)]+s3+s1[(find_chr(s1,s2)+1):]

并在您的main打印结果:

print(rep_chr(s,x,y))

有一个内置函数:

string.replace(old, new, count)

这将返回一个修改后的副本

count 是可选的,是替换的次数 - 如果设置为 2,它将替换前两次出现。

string = 'abc abc abc def'
string.replace('abc','xyz',2)

返回

'xyz xyz abc def'

问题printrep_chr函数内的print语句中。

s1==s1[0:find_chr(s1,s2)]+s3+s1[(find_chr(s1,s2)+1):]

上面的语句意味着s1等于s1[0:find_chr(s1,s2)]+s3+s1[(find_chr(s1,s2)+1):] 这是错误的,这就是为什么您将 False 作为输出。

暂无
暂无

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

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