La première est la méthode split avec deux paramètres :
Fonction :
séparera les chaînes de l'expression régulière donnée (regex)
La première Le paramètre est le séparateur du type de caractère transmis, tel que "," etc. (peut être n'importe quelle chaîne)
Le deuxième paramètre est passé dans la limite entière, qui représente cette chaîne est divisée en n parts (n voici la limite).
Valeur de retour :
Le array renvoyé par cette méthode contient chaque sous-chaîne de cette chaîne. La chaîne se termine par l'expression régulière correspondante (c'est-à-dire. , le premier paramètre regex saisi), ou se termine par la fin de la chaîne.
Remarque :
Les sous-chaînes du tableau sont disposées dans l'ordre dans lequel elles apparaissent dans cette chaîne.
Si l'expression régulière d'entrée ne correspond à aucun caractère de la chaîne, alors le tableau de résultat n'aura qu'un seul élément, qui est cette chaîne. (C'est-à-dire si le paramètre regex d'entrée n'apparaît pas dans la chaîne)
S'il y a une correspondance numérique positive au début de la chaîne (c'est-à-dire qu'il y a >0 délimiteurs regex au début de la chaîne) , puis dans le tableau de résultats Il contiendra une sous-chaîne vide au début
public class test { public static void main(String[] args) { String str = ",,1,2,3,4"; // 注意这里字符串开头就匹配到了逗号 String[] s = str.split(",",10);// 这里先取10,后文介绍第二个参数 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
Résultats d'exécution :
Il y aura une sous-chaîne vide avant la première virgule
Le paramètre limit contrôle le nombre. Le nombre de fois où le motif est appliqué, cela affectera donc la longueur dutableau résultant. (La signification ici est que la valeur de limit contrôle la longueur du tableau de résultats)
L'interprétation ci-dessus est la suivante : (1) Si l'entrée de limite est unnombre positif, alors ce mode appliquera la limite - 1 fois au maximum (c'est-à-dire que l'expression régulière d'entrée ne sera utilisée que pour correspondre à la limite 1 fois dans la chaîne), la longueur du tableau ne sera pas supérieure à la limite et la dernière entrée du tableau contiendra toutes les entrées à l'exception du dernier délimiteur correspondant (c'est-à-dire que le modèle de séparation est d'avant en arrière). Voici un code que tout le monde doit comprendre :
public class test { public static void main(String[] args) { String str = "1,2,3,4"; String[] s = str.split(",",2);//这里输入limit为2,即分成2部分 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
zéro, le motif sera appliqué autant de fois que possible, et le tableau résultant peut avoir n'importe quelle longueur, et la chaîne vide finale sera supprimée . (C'est-à-dire que toutes les expressions régulières de la chaîne correspondent à des délimiteurs), concernant les chaînes vides supprimées, le code est le suivant :
public class test { public static void main(String[] args) { String str = "1,2,3,4,,,";// 这里后面逗号之间的空字符串将被丢弃 String[] s = str.split(",",0); for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
(3) Si la valeur de la limite d'entrée est
Négative , le motif sera appliqué autant de fois que possible et le tableau peut être de n'importe quelle longueur. (La chaîne vide à la fin ne sera pas perdue)
public class test { public static void main(String[] args) { String str = ",1,2,3,4,"; String[] s = str.split(",",-1);//limit值为负数 for (String string : s) { System.out.println("子字符串"+string); } System.out.println(s.length); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!