Tratando Strings[RESOLVIDO]

Boa tarde pessoal,

estou tentando tratar String de um rastreador… ele me envia suas informaçoes como localização hora… data…e etc… por uma “stringona” e existem informações qsão “grudadas” uma nas outras… e para fazer a separação da string e pegar oque me interessa estou usando Split. o problema é o seguinte… ele nem sempre me envia a mesma String ou melhor nem sempre me envia a string em um tamanho padrão… por exemplo…

essa String tratei com Split…esse é um dos formatos…

Msg:SUIN,Dt:01359149,010312144719.000,2398.4322,S,04702.1942,W,0.00,00,End

ele tambem pode me enviar esse formato…

Msg:SIOD,Dt:01359149,00,00,End

entre outros que ele pode me retornar dependendo do comando que envio para ele… gostaria de saber se teria alguma API que me ajude ou que possibilite tratar varias strings… e não um padrão de strings. com tamanha sempre iguais.

dei uma olhada na API java.util.regex… mais ainda não sei como ela pode me ajudar. se alguem tiver alguma dica… por favor… mea ajude.

Grato.! :slight_smile:

Se o tamanho das informações sempre forem o mesmo, ex.: informação tal sempre vai estar da posição 2 até a 8, etc. Pode usar o substring

EDIT
Me desculpe, não vi que você estava querendo sem ter um padrão. Assim acho que teria que ter pelo menos um separador entre as informações.

bom olhando seu exemplo se ele sempre enviar msg: poderiamos ignorar o “cabeçalho”;

String msg = mensagem.replace("msg:","");
agora temos uma “stringona” sem o cabeçalho.

agora varremos a string com os pontos de paradas em virgulas:

String aux = ""; for(i=0; i<msg.length(); i++){ if(msg.charAt(i)!=','){ aux += msg.charAt(i); }else{ //quando achar uma virgula vc faz o seu tratamento aqui //e reinicia aux depois da operacao aux = ""; } }

o lance é que deve existir um padrão nesse envio de mensagem aí.

ou então vc terá que identificar seus dados um a um e direciona-los para o lugar certo. (tipo: se houver . na string então e um double/bigdecimal)

a função charAt(), talvez te ajude um pouco também.

esses dados são coordenadas?

Cara, usa o apache lang que vai te ajudar PRA CARAMBA

Principalmente o StringUtils

samirrolemberg

mto obrigado cara… funcionou direitinho… agora só vou implementar os tratamentos… OBRIGADO !

e jaboot Vou conferir esse apache lang para obter melhores resultados sem muita enrolação VLw OBRIGADO pela ajuda… qualquer duvida volto a postar !

abraço e fiquem com Deus! :smiley: