Java dividindo cordas
O método split () de java.lang.string, JDK 1.4 ou mais tarde
public String [] Split (String regex, int limite)
Código de amostra
classe pública stringsplit {public static void main (string [] args) {string soucestr = "1,2,3,4,5"; String [] SourCestRray = SourCest.split (","); for (int i = 0; i <sourceStarray.length; i ++) {System.out.println (SourCestRray [i]); } // divide até 3 strings int maxsplit = 3; SourCestRray = SourCest.Split (",", MaxSplit); for (int i = 0; i <sourceStarray.length; i ++) {System.out.println (SourCestRray [i]); }}}Resultado da saída:
12345123,4,5
A implementação dividida chama diretamente o método dividido da classe Matcher . Ao usar o método string.split para delimitar strings, se o delimitador usar alguns caracteres especiais, ele poderá não obter os resultados que esperávamos. Personagens com significados especiais em expressões regulares devem ser escapados quando os usamos. Exemplo:
classe pública stringsplit {public static void main (string [] args) {string value = "192.168.128.33"; // Observe que você deve adicionar //, não sai, sim string [] nomes = value.split ("//."); for (int i = 0; i <names.length; i ++) {System.out.println (nomes [i]); }}}Resumo do separador dividido
1. Os caracteres "|", "*", "+" devem ser adicionados com caracteres escapados e "//" é adicionado antes deles.
2. Se for "/", deve ser escrito como "////".
3. Se houver vários delimitadores em uma corda, você poderá usar "|" como um hífen.
Por exemplo: String str = "Java String-split#teste", você pode usar o str.split ("|-|#") para separar cada string. Isso divide a string em 3 substringas.
java.util.tokenizer jdk 1.0 ou mais tarde
StringTokenizer
A classe StringTokenizer permite que os aplicativos dividam strings em tokens. O StringTokenizer é uma classe herdada preservada por razões de compatibilidade (embora não seja incentivado em um novo código). Recomenda -se que todos aqueles que procuram esse recurso usem o método dividido da String ou o pacote java.util.regex.
Exemplo de código
classe pública stringsplit {public static void main (string [] args) {string ip = "192.168.128.33"; StringTokenizer token = new StringTokenizer (ip, "."); while (token.hasmoreElements ()) {System.out.print (token.nextToken ()+""); }}}No entanto, para a divisão da string "192.168..33", a matriz de string retornada possui apenas 3 elementos e a corda vazia entre os dois separadores será ignorada. Isso deve ser usado com cautela.
No entanto, o String.split (String.split é comparado com expressões regulares, por isso não usa o algoritmo de correspondência de string kmp) usa algoritmos que atravessam a sequência, com uma complexidade alta de O (M*n); portanto, em termos de desempenho, o StringTokenizer é muito melhor. Para aplicativos que freqüentemente usam segmentação de string, como o processamento de dados ETL, o desempenho do uso do StringTokenizer pode ser melhorado muito.
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!