Pegar string entre 2 caracteres

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());
    }

}[/code]

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();
}

Vlw exdj21, acho que foi essa a solução que utilizei.