/ / Como o java “stringtokenizer.nextToken (delimitador); " trabalhos? - java, string, stringtokenizer

Como o java “stringtokenizer.nextToken (delimitador); " trabalhos? - java, string, stringtokenizer

O que quero dizer é que valores de string são aceitos comodelimitadores? isso é porque eu continuo tentando usar uma string composta de vários caracteres diferentes, mas o programa apenas parece ignorá-la como apenas escanear com espaço vazio como o delimitador padrão ...

Por exemplo, se a string tokenizada for a seguinte: Número de telefone = 790-3233

Eu gostaria que o primeiro token fosse até o "=", portanto, eu defini-lo como o delimitador e o próximo token deve ser apenas a string "790-3233"

Desde já, obrigado...

Respostas:

1 para resposta № 1

Por padrão, o Delimiters é space , se você não fornecer um

    // Extracted StringTokenizer.java
public StringTokenizer(String string)
{
this(string, " tnrf", false);
}

Se você fornecer = como delimitador junto com a string, em seguida, divide

StringTokenizer st = new StringTokenizer("Phone Number = 790-3233","=");

1 para resposta № 2

Seguindo o observação da documentação da API:

StringTokenizer é uma classe legada que éretido por motivos de compatibilidade, embora seu uso seja desencorajado em um novo código. Recomenda-se que qualquer pessoa que busque essa funcionalidade use o método split de String ou o pacote java.util.regex.

Eu usei split neste caso:

String text = "Phone Number = 790-3233";
String[] tokens = text.split("\s*=\s*");

O regex s*=s* corresponde a zero ou mais espaços-caracteres, seguidos por um = sinal, seguido por zero ou mais espaços-chars.


0 para resposta № 3

Usar :

String[] result = "your string=790-3233".split("=");

Para o Tokenizer de string, veja referência.