Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ToUpper () e Replace()

Por que o ToUpper() não permitiu o replace do nº? E como deveria fazer para os dois funcionarem ?

1 resposta
solução!

Oi Ana, tudo bem ?

Então o Replace() diferencia letras maiúsculas de minusculas, logo "nº" é diferente de "Nº".

string endereco = "R. São Carlos do Pinhal nº746";
 string enderecoFormatado = endereco
        .ToUpper() //transforma toda a string em maiúscula "R. SÃO CARLO DO PINHAL Nº746"
        .Replace("r.", "Rua")//não tem "r." minusculo para trocar
        .Replace(" nº", ", Número ")//não tem "nº" minusculo para trocar
        .ToUpper(); //transforma toda a string em maiúscula

Console.WriteLine(enderecoFormatado);

Para que o Replace aconteçam é só tirar o primeiro ToUpper , algo assim:

string endereco = "R. São Carlos do Pinhal nº746";
 string enderecoFormatado = endereco
        .Replace("r.", "Rua")//não tem "r." minusculo para trocar
        .Replace(" nº", ", Número ")//tem "nº" minusculo para trocar  "R. São Carlos do Pinhal Número 746"
        .ToUpper(); //transforma toda a string em maiúscula "R. SÃO CARLOS DO PINHAL, NÚMERO 746"

Console.WriteLine(enderecoFormatado);

Espero ter ajudado :)