Símbolos estranhos - Método 'replace'

3 respostas
L

Pessoal, escrevi um código que teoricamente serviria para fazer a limpeza de nomes.

Exemplo:

m[áriNà[~^ --> marina

Fiz vários métodos separados, onde cada um era responsável por fazer uma parte. No método ‘final’, eu falava que tudo
que não fosse letra (usando os códigos da tabela ASCII) seria trocado por vazio, usando o seguinte:

char vazio = (char) 0;
palavra = palavra.replace (letra[i], vazio);

Mas o Eclipse substitui todos os caracteres estranhos por um símbolo que não consigo colar aqui.
É um quadrado, mas só com as bordas.

E quando eu abro o arquivo final no BROffice, ao invés dos quadrados vazados que aparecem no Eclipse, aparecem ‘?’.

Exemplo:

m[áriNà[~^ --> m?arina???

Já no Word aparecem caracteres mais estranhos do que os anteriores, de forma que o código inteiro não serviu para nada.

Alguém faz idéia do que está acontecendo e como eu posso controlar esses símbolos?

Obrigado.

3 Respostas

peczenyj

Não existe caracter vazio.

Vc não esta trocando por vazio, esta colocando um NULL \0 em cada posição.

Sugiro usar o replaceAll que aceita uma string vazia.

L

Sim, estou colocando um null.
Pensei que não fosse aparecer nada, já que é null.
Mas pelo visto me enganei.
Obrigado, vou tentar essa mudança.

Marck

Olá

char vazio = ‘\u0000’

Abraço

Criado 12 de abril de 2010
Ultima resposta 12 de abr. de 2010
Respostas 3
Participantes 3