Prefácio
Acredito que todos devem saber que, na programação Java, às vezes precisamos dividir uma corda de acordo com um personagem, letra, etc. como ponto de corte, para que possamos usar parte dessa string ou salvar todo o conteúdo interceptado em uma matriz. O artigo a seguir compartilhará com você duas maneiras de segmentação. Vamos dar uma olhada juntos.
1. O método Split () de Java.lang.String, JDK 1.4 ou mais tarde
public String[] split(String regex,int limit)
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#test" , você pode usar Str.split(" |-|#") para separar cada string. Isso divide a string em 3 substringas.
2. 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, 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 de alto tempo 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.
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo seja de ajuda para o seu estudo ou trabalho. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar.