Formatar String

fala feras

estou retornando do banco um string como essa abaixo eu preciso pegar essa string apenas os numeros apos o letra LT

ou seja baseando-se nessa string devo pegar a parte

String que devo ter como valor final

LT-22.783349333333334!LG-43.382133333333336

String que retorno do banco

10102009000107000055*11*20281!LT-22.783349333333334!LG-43.382133333333336

alguém pode ajudar como eu devo fazer isso

Olá

Tenta usar substring e indexOf… acho que isso pode te ajudar

Espero ter ajudado
Flwss

você poderia dar um exemplo…

eu sei que eu poderia usar o substring mais os valores antes da letra LT varia

e o substring eu uso um valor fixo para obter o valor que eu quero

Boa tarde.

Veja se ajuda você:

[code]String s = “101020090001070000551120281!LT-22.783349333333334!LG-43.382133333333336”;
String[] result = s.split(“LT”);
System.out.println(result[1]);

Caso queira adicionar o LT a sua string basta fazer:

“LT”+result[1];[/code]

Ah, mais um detalhe, caso exista a possibilidade da string iniciar com LT pode fazer o seguinte teste:

//retorna true se iniciar com LT if(s.startsWith("LT")){ //sua lógica }

Lógico, podem haver vários LT na sua string, demonstrei como pegar a string após o LT, sendo assim, o resto é apenas lógica.
Abraços.

String doBanco = "1. 10102009000107000055*11*20281!LT-22.783349333333334!LG-43.382133333333336"; String resulta = doBanco.substring(doBanco.indexOf("LT"));

mas esse valor eh sempre LT ou ele pode variar?

ou o q pode varias sao os caracteres antes de LT?

se for isso, usa o split();

O q pode varia sao os caracteres antes de LT depois não

Você leu o que eu e o Vini postamos?
As duas formas solucionam a sua necessidade.

Abraço.

li sim nel estou testando e logo posto o resultado

desde já agradeço

Galera desculpe a demora mais era exatamente isso que vcs me falaram resolver meu problema

String msgformatada = posicionamentoTO.getMensagem().substring(posicionamentoTO.getMensagem().indexOf("LT"));

valeu feras