Olá pessoal,
gostaria que me ajudassem no seguinte:
eu quero pegar a string que está entre 2 caracteres, exemplo:
String nome = %valorNuncaFixo%
onde a variável nome deve receber a string “valorNuncaFixo”, eu até pensei em usar substring, mas como o valor entre os sinais de % nunca serão fixos, eu não teria o valor final da substring para passar como argumento no endIndex.
Agradeço a ajuda.
vc pode fazer isso usando StringTokenizer, exemplo:
[code]
import java.util.*;
public class ExemploTokenizer {
public static void main(String [] args) {
String Demo = "This|is|a string that we want to tokenize|";
StringTokenizer Tok = new StringTokenizer(Demo, "|");
int n=0;
while (Tok.hasMoreElements())
System.out.println("" + ++n +": "+Tok.nextElement());
}
Pensando na mesma linha de raciocinio sua de usar o método subString, o problema que voce encontrou foi de não saber o index final para o metodo, neste exemplo eu utilizei o metodo “lastIndexOf()” que me diz a posição da ultima ocorrencia da String “%”, assim eu terei sempre a primeira e a ultima posição desta String, mas só funcionara se realmente esta string tiver estes “%” em comum.
public class Subi{
public void dentro(){
String teste = "%ValorNumcaFixo%";
System.out.println( teste.substring(1, teste.lastIndexOf("%")));
}
public static void main(String [] args){
new Subi().dentro();
}