私は、入力文字列を置き換えることができるunix trのようなプログラムを書いています。 私の戦略は、まずソース文字列のすべてのインデックスを見つけて、ターゲット文字列で置き換えることです。文字列をインデックスで置き換える方法がわからないので、スライスだけを使用します。 しかし、ターゲット文字列の長さがソース文字列と等しくない場合、このプログラムは間違っています。文字列をインデックスで置き換える方法が何であるか知りたい。Python:文字列をインデックスで置き換える方法
def tr(srcstr,dststr,string):
indexes = list(find_all(string,srcstr)) #find all src indexes as list
for index in indexes:
string = string[:index]+dststr+string[index+len(srcstr):]
print string
TR( 'A'、 'M'、 'aabbccaa')
この結果は正しいであろう。mmbbccmm
しかし、もしTR( 'AA'、 'OOO'、 'aabbccaa') 、出力が間違っていることになります。
ooobbcoooa
私は – remy
@remyは、あなたの質問に回答されていますそれを知っている、あなたに感謝?その場合は、緑のチェックマークを使用して回答を受け入れることができます。 – Taymon