簡體   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