Escreva um programa para substituir todas as ocorrências de "força" por "primeiro" e todas as ocorrências de "primeiro" por "força", mantendo o caso original para todas as posições de caracteres:
"ForcefoRcefOrcE" -> "FirstfiRstfIrsT"
"FirstfiRstfIrsT" -> "ForcefoRcefOrcE"
O restante da string deve permanecer inalterado e, portanto, a execução do programa duas vezes retornará a string original:
"thirst of forces" -> "thirst of firsts" -> "thirst of forces"
Seu programa deve funcionar em qualquer sequência inicial. Portanto, como dica, é melhor evitar o uso de caracteres mágicos como representação intermediária, porque se você tentar uma substituição de três passagens ( "force" -> "zzzzz", "first" -> "force", "zzzzz" -> "first"
), ela falhará nas strings que contêm "zzzzz"
.
Você deve suportar todo o intervalo de caracteres permitido na definição de uma String pela sua linguagem de programação (na maioria dos casos, é Unicode). Exemplo, usando representação no estilo JSON para caracteres não imprimíveis (\ u + 4 dígitos):
"\u0000\u0001\u0002\u0003the Force of the firsT"
|
V
"\u0000\u0001\u0002\u0003the First of the forcE"
[Ff]
não estiver lá, você não deverá substituir a palavra.