Oi,
não a nada que uma analise léxica (teoria) não resolva…
percorra seu texto por caracter, e onde você escontrar espaços mande quebra a linha
ou então gravar em uma variavel do espaço até a posição inicial (assim você tera 1 constante).
continue incrementando e passe para o proximo caracter, se for espaço continue incrementando ou quebrando… até encontrar a proxima letra… dai vai achar outro espaço… guarde a constante (da posicao do caracter atual até seu proximo espaço)…
assim você tera todas as “constantes” gravadas e sabera com uma comparação qual você deseja…
é trabalhoso… bem mais do que uma simples substring… mais nao tem erro…
[quote=thingol]Eu já dei o exemplo com substring (aquele com “substring (36, 56-1)” ou coisa parecida alguns posts atrás.
Agora faça a sua parte.
Pegue o arquivo que você recebeu, veja onde começam as posições, e boa sorte!
[/quote]
corretamente. Se quiserem ver o resultado executem:
public static void main(String[] args) {
// TODO code application logic here
String string1 = "010001963 91522 91522 JOSE FRANCISCO DO NASCIMENTO F 195263 SSPAL 06808271453 BELO MONTE 319 57040000JACINTINHO MACEIO AL29061955 3202415 3202147 M 00 9 0703200714032002S";
String string2 = "010005283 91522 91522 ABELARDO RAMOS DOS SANTOS F 418016 SSP/AL 23941600478 R.PROFªNOEMIA G.RAMALHO-QD: A 30 CASA :09 57033000JACARECICA MACEIO AL15121958 2317545 99914634 M 04 9 0703200708092005S";
for (int i = 0; i<string1.length(); i++){
System.out.println("i1 = "+i+" | "+string1.charAt(i));
}
for (int i = 0; i><string2.length(); i++){
System.out.println("i2 = "+i+" | "+string2.charAt(i));
}
}
fuciona. geralmente o nome aparece na posição 46. e o endereço na posição 174.
pelo que vi as opções estão acabando mesmo. Resta vc pedir para enviarem pra vc o txt com algum delimitador padrão ou que alterem o sistema que gera esse txt para que assim o faça rsss.
Se vcs observarem as telas em que eu mandei o arquivo, ou as duas linhas do arquivo que mandei na minha ultima mensagem. E executarem o método main da mensagem.
Poderão então perceber que se torna trivial a resolução desse problema.
Uma vez que o campo endereço aparece sempre na´posição 174 do vetor de char que é a nossa linda String.
Dando uma olhada mais minuciosa ainda verao que o proximo campo aparece sempre na posição 214.
Notem também que o campo nome vem na posição 36.
Ou seja:
*Pra pegar o endereço eu vou da posição 174 até a posição 214.
*O resto da implementação fica a critério de cada um. Seja esse por meio de substring ou por meio de ciclos de iterações.
Mas se vc acompanhou a discusão no começo, o gp7junior disse q o arquivo era sequencial e não posicional, por isso demoramos pra ter outras idéias, após ele mostrar o arquivo concluimos que era de outra forma (muitoooo mais simples)