Split sem usar separador

5 respostas
R

Olá,

Tenho que ler o arquivo no layout abaixo.
Sendo apenas a primeira linha utilizando separador " "(espaço em branco) e as demais linhas sem separador.
Para a primeira linha é simples, apenas utilizo o split com o separador espaço em branco e ok.
Mas para as demais linhas, como posso fazer para ler cada caractere encontrado já que não há separador entre eles? Consigo fazer isso com split? Tem algum método próprio do java que já faz isso ou vou ter que ler a linha inteira e usar substring para separar cada caractere?

10 10 20            
....*.....          
.......*..          
.....*....          
..*.*.....          
...#N.*...          
...*......          
..........          
..........          
..........          
..........          
FFFDFFDFFDFFFEFFFEEF

Obrigado.

5 Respostas

nel

Oi,

o que seria um caracter válido para você ?
No meu ver os ‘.’ não são. Será que um replaceAll não lhe cabe bem?

R

é que assim, isso é pra ser tipo um jogo. A primeira linha indica a número de linhas e colunas de uma arena, e a quantidade de comandos que vão ser enviados para um robo.
Ai a partir da segunda linha, até a penúltima tenho a arena, aonde um “.” (ponto) representa uma célula da arena aonde não existe nada, “*” representa uma figurinha e “#” um pilastra, e “N” a orientação inicial do robô, sendo Norte.
Por isso todos os caracteres são essenciais, vou ter que preencher uma matriz com eles.

Guilherme_Gomes

Leia a linha e itere na String utilizando o charAt()

R

Só pra não deixar sem resposta.

utilizei split passando null. Isso faz com que ele separe cada caractere, porém a 1 pequeno problema nisso. A primeira posição que ele preenche no vetor fica nula, então para acessar os dados você deve começar pela posição 1 ao invés de zero.

Talvez tenha uma forma melhor de fazer isto, mas é essa a forma que eu consegui desenvolver.

C

toCharArray() não serve pra você cara?

Criado 7 de novembro de 2011
Ultima resposta 8 de nov. de 2011
Respostas 5
Participantes 4