Este código simples que simplesmente tenta substituir o ponto-e-vírgula (em posições especificadas por i) por dois-pontos não funciona:
for i in range(0,len(line)):
if (line[i]==";" and i in rightindexarray):
line[i]=":"
Dá o erro
line[i]=":"
TypeError: 'str' object does not support item assignment
Como posso contornar isso para substituir o ponto-e-vírgula por dois-pontos? Usar substituir não funciona porque essa função não leva nenhum índice - pode haver alguns pontos-e-vírgulas que eu não quero substituir.
Exemplo
Na string, posso ter qualquer número de ponto e vírgula, por exemplo, "Hei der!; Hello there;!;"
Eu sei quais desejo substituir (tenho seu índice na string). O uso de substituir não funciona porque não consigo usar um índice com ele.
str.find()
vez disso, use para encontrar a posição do ponto-e-vírgula e, em seguida, use o fatiamento para extrair a substring.
str.replace()
BIF?