[JAVA] String # split (String regex, int limit) Remarque sur les spécifications de fonctionnement du deuxième argument

C'est un fractionnement qui est souvent utilisé dans les cas où vous souhaitez fractionner une chaîne de caractères avec un délimiteur spécifique en java, mais comme vous oubliez les spécifications de fonctionnement du deuxième argument à chaque fois, notez-le comme mémorandum.

Java SE 7, 8 et 9 semblent avoir les mêmes spécifications de fonctionnement.

Mouvement de String # split (String regex, limite int)

Supposons que vous souhaitiez séparer les virgules pour la chaîne de caractères d'entrée a, i, u, e, o```` `` `.

Lorsque la deuxième limite d'argument n'est pas spécifiée

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",");
for(int i=0; i<splited.length; i++) {
    System.out.println("[" + i + "]" + splited[i]);
}

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U
[3]e
[4]Oh

⇒ Le dernier caractère vide est ignoré.

Lorsque -1 est spécifié pour la limite du deuxième argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", -1);

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U
[3]e
[4]Oh
[5]
[6]

⇒ Le dernier caractère vide est également sujet à division.

Lorsque 0 est spécifié pour la limite du deuxième argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 0);

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U
[3]e
[4]Oh

⇒ Même résultat qu'aucun argument spécifié (la valeur limite par défaut est 0).

Lorsque 1 est spécifié pour la limite du deuxième argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 1);

Le résultat de l'exécution est

[0]Ah,je,U,e,Oh,,

⇒ Il n'est pas divisé car il est divisé en un seul.

Lorsque 2 est spécifié pour la limite du deuxième argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 2);

Le résultat de l'exécution est

[0]Ah
[1]je,U,e,Oh,,

⇒Il est divisé en deux.

Lorsque 3 est spécifié pour la limite du deuxième argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 3);

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U,e,Oh,,

⇒Il est divisé en trois.

Lorsque 7 est spécifié pour la deuxième limite d'argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 7);

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U
[3]e
[4]Oh
[5]
[6]

⇒Il est divisé en 7 parties. * Le ciel est également sujet à la division

Lorsque 8 ou plus est spécifié pour la deuxième limite d'argument

String data = "Ah,je,U,e,Oh,,";
String[] splited = data.split(",", 8);

Le résultat de l'exécution est

[0]Ah
[1]je
[2]U
[3]e
[4]Oh
[5]
[6]

⇒Il sera divisé en 7 sans aucune erreur.

c'est tout.

Recommended Posts

String # split (String regex, int limit) Remarque sur les spécifications de fonctionnement du deuxième argument
Remarque sur le chemin de request.getRequestDispatcher
[Note] Java: mesure la vitesse de concaténation de chaînes
Veuillez noter la division (division) de java kotlin Int et Int
À propos de la troncature de String par le nombre d'octets sur Android
Une note sur la fonction de départ de Ruby on Rails