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 № 1Por 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.