Você pode usar uma regex para encontrar o texto, segue um exemplo:
StringpatternStr="\\b team_t tickets_t red 431 blue 363\\b";Patternpattern=Pattern.compile(patternStr);Matchermatcher=pattern.matcher("Aqui vai o texto onde você irá procurar a string acima");if(matcher.find()){System.out.println(matcher.group());}
Abraço!
SirDominque
Hmm, mas nem sempre a quantidade de tickets vai ser a mesma…
Tipo
team_t tickets_t red 431 blue 363
o
team_t tickets_t red 400 blue 300
Na verdade eu só preciso disso :
red 400
blue 300
DA pra usar regex mesmo sabendo que os numeros podem dar diferente?
lina
Oi,
Esse texto sempre estará no final? Ou ele pode se intrometer e ir para o meio do texto?
Tchauzin!
SirDominque
lina:
Oi,
Esse texto sempre estará no final? Ou ele pode se intrometer e ir para o meio do texto?
Tchauzin!
Acredito que Sempre no Final;
lina
Andre Lopes:
lina:
Oi,
Esse texto sempre estará no final? Ou ele pode se intrometer e ir para o meio do texto?
O que você pode fazer é usar o indexOf para iniciar da tag tickets_t + 9.
Tchauzin!
mmaico
Olá André,
Dá sim, faz o seguinte:
StringpatternStr="(blue [0-9]{0,3}) | (red [0-9]{0,3})";Patternpattern=Pattern.compile(patternStr); Matchermatcher=pattern.matcher("Aqui vai o texto onde você irá procurar a string acima"); while(matcher.find()){System.out.println(matcher.group()); }
E expressão diz que eu quero blue ou red seguido de um conjunto de 3 numeros que pode ir de zero a nove, ou seja ele casa com
red 0 a red 999 ou blue 0 a blue 999.
Até mais!
SirDominque
mmaico:
Olá André,
Dá sim, faz o seguinte:
StringpatternStr="(blue [0-9]{0,3}) | (red [0-9]{0,3})";Patternpattern=Pattern.compile(patternStr); Matchermatcher=pattern.matcher("Aqui vai o texto onde você irá procurar a string acima"); while(matcher.find()){System.out.println(matcher.group()); }
E expressão diz que eu quero blue ou red seguido de um conjunto de 3 numeros que pode ir de zero a nove, ou seja ele casa com
red 0 a red 999 ou blue 0 a blue 999.
Eu envio a String fullResponse que é aquela String cheia de informações, e pego somente os tickets... Porém,
Quando is tickets estao abaixo de 100 , ou seja, 99,98;97;96;95;94 -> 0 , ele da erro no Integer.parseInt
O que faço ?
mmaico
Provavelmente tem um espaço, da um “stringComNumero”.trim() e depois converte!