Python では、文字列は不変です。つまり、個々の文字を直接変更することはできません。そのため、指定された Python コード:
for i in range(0,len(line)): if (line[i]==";" and i in rightindexarray): line[i]=":"
は、文字列内の文字に割り当てようとするため、TypeError で失敗します。
文字の特定のインスタンスを置換するには、Python の組み込み replace() メソッドを使用する必要があります。このメソッドは、置換される文字と置換文字の 2 つの引数を取ります。ただし、 replace() はインデックス引数を受け取らないため、文字の特定のインスタンスをターゲットにするために使用することはできません。
置換する文字の特定のインスタンスがわかっている場合では、スライスを使用して文字列の関連部分を分離できます。分離したら、replace() を使用して目的の文字を変更できます。
たとえば、複数のセミコロン (「;」) を含む文字列があるが、特定の位置のセミコロンのみを置換したいとします。これを行うには、文字列を複数のセグメントにスライスし、replace():
start_index = 0 end_index = 10 new_line = line[:start_index] new_line += line[start_index:end_index].replace(";", ":") new_line += line[end_index:] print(new_line)
を使用して各セグメントのセミコロンを置き換えます。このアプローチにより、文字列全体を変更せずに、文字の特定のインスタンスを選択的に置き換えることができます。
以上がPython 文字列内の特定の文字を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。