[英]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'
問題print
在rep_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.