Préface
Je crois que tout le monde devrait savoir que dans la programmation Java, nous devons parfois diviser une chaîne en fonction d'un caractère spécifique, d'une lettre, etc. comme point de coupure, afin que nous puissions utiliser une partie de cette chaîne ou enregistrer tout le contenu intercepté dans un tableau. L'article suivant partagera avec vous deux façons de segmenter. Jetons un coup d'œil ensemble.
1. La méthode Split () de Java.lang.String, JDK 1.4 ou plus tard
public String[] split(String regex,int limit)
Exemple de code
classe publique Stringsplit {public static void main (String [] args) {String Sourcestr = "1,2,3,4,5"; String [] SourcestrArray = SourCestR.Split (","); for (int i = 0; i <sourcestrArray.length; i ++) {System.out.println (SourcestrArray [i]); } // Divisé jusqu'à 3 chaînes int maxsplit = 3; SourcestrArray = Sourcestr.Split (",", maxsplit); for (int i = 0; i <sourcestrArray.length; i ++) {System.out.println (SourcestrArray [i]); }}} Résultat de sortie:
12345123,4,5
L'implémentation Split appelle directement la méthode Split de la classe Matcher. Lorsque vous utilisez la méthode String.split pour délimiter les chaînes, si le délimiteur utilise des caractères spéciaux, il peut ne pas obtenir les résultats que nous attendions.
Les personnages ayant des significations spéciales dans des expressions régulières doivent être échappés lorsque nous les utilisons. Exemple:
classe publique Stringsplit {public static void main (String [] args) {String value = "192.168.128.33"; // Notez que vous devez ajouter //, soit ne sortez pas, ouais string [] nameS = value.split ("//."); for (int i = 0; i <names.length; i ++) {System.out.println (noms [i]); }}}Résumé du séparateur fendu
1. Les caractères "|", "*", "+" doivent être ajoutés avec des caractères échappés, et "//" est ajouté avant eux.
2. Si c'est "/", alors il doit être écrit "/////".
3. S'il y a plusieurs délimiteurs dans une chaîne, vous pouvez utiliser "|" comme trait d'union.
Par exemple: String str = "Java string-split#test" , vous pouvez utiliser Str.split(" |-|#") pour séparer chaque chaîne. Cela divise la chaîne en 3 sous-chaînes.
2. Java.util.tokenizer JDK 1.0 ou version ultérieure
StringTokenizer
La classe StringTokenizer permet aux applications de décomposer les chaînes en jetons. StringTokenizer est une classe héritée qui est conservée pour des raisons de compatibilité (bien qu'elle ne soit pas encouragée dans le nouveau code). Il est recommandé que tous ceux qui recherchent cette fonction utilisent la méthode Split de String ou le package java.util.regex.
Exemple de code
classe publique 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 () + ""); }}}Cependant, pour le fractionnement de la chaîne "192.168..33", le tableau de chaîne retourné n'a que 3 éléments et la chaîne vide entre les deux séparateurs sera ignorée. Cela doit être utilisé avec prudence.
Cependant, String.split ( String.split est adapté aux expressions régulières, donc il n'utilise pas l'algorithme de correspondance de chaîne KMP) utilise des algorithmes qui traversent la séquence, avec une complexité de temps élevée d'O (m * n), donc en termes de performances, StringTokenzer est bien mieux. Pour les applications qui utilisent fréquemment la segmentation des chaînes, telles que le traitement des données ETL, les performances de l'utilisation de StringTokenizer peuvent être beaucoup améliorées.
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article sera d'une aide à votre étude ou à votre travail. Si vous avez des questions, vous pouvez laisser un message pour communiquer.