Διαίρεση συμβολοσειράς Java ()

Η μέθοδος Java String split () διαιρεί τη συμβολοσειρά στο καθορισμένο regex και επιστρέφει μια σειρά από substrings.

Η σύνταξη της split()μεθόδου συμβολοσειράς είναι:

 string.split(String regex, int limit)

Εδώ, το string είναι ένα αντικείμενο της Stringκλάσης.

split () Παράμετροι

Η split()μέθοδος συμβολοσειράς μπορεί να έχει δύο παραμέτρους:

  • regex - η συμβολοσειρά διαιρείται σε αυτό το regex (μπορεί να είναι συμβολοσειρές)
  • όριο (προαιρετικό) - ελέγχει τον αριθμό των υποστρώσεων που προκύπτουν

Εάν η limitπαράμετρος δεν περάσει, split()επιστρέφει όλες τις πιθανές συμβολοσειρές.

split () Επιστροφή τιμής

  • επιστρέφει μια σειρά από υποστρώματα

Σημείωση: Εάν η κανονική έκφραση που μεταβιβάζεται split()δεν είναι έγκυρη, η split()μέθοδος δημιουργεί PatternSyntaxExpressionεξαίρεση.

Παράδειγμα 1: split () Χωρίς όριο Παράμετρος

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a::b::c::d:e"; // splitting the string at "::" // storing the result in an array of strings String() result = vowels.split("::"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Παραγωγή

 αποτέλεσμα = (a, b, c, d: e)

Εδώ, χωρίσαμε τη συμβολοσειρά στο ::. Δεδομένου ότι η limitπαράμετρος δεν έχει περάσει, ο πίνακας που επιστρέφεται περιέχει όλα τα υποστρώματα.

split () Με παράμετρο ορίου

  • Εάν η limitπαράμετρος είναι 0 ή αρνητική, split()επιστρέφει έναν πίνακα που περιέχει όλα τα υποστρώματα.
  • Εάν η limitπαράμετρος είναι θετική (ας πούμε n), split()επιστρέφει το μέγιστο των nsubstrings

Παράδειγμα 2: split () Με παράμετρο ορίου

 // importing Arrays to convert array to string import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a:bc:de:fg:h"; // splitting array at ":" // limit is -2; array contins all substrings String() result = vowels.split(":", -2); System.out.println("result when limit is -2 = " + Arrays.toString(result)); // limit is 0; array contains all substrings result = vowels.split(":", 0); System.out.println("result when limit is 0 = " + Arrays.toString(result)); // limit is 2; array contains a maximum of 2 substrings result = vowels.split(":", 2); System.out.println("result when limit is 2 = " + Arrays.toString(result)); // limit is 4; array contains a maximum of 4 substrings result = vowels.split(":", 4); System.out.println("result when limit is 4 = " + Arrays.toString(result)); // limit is 10; array contains a maximum of 10 substrings result = vowels.split(":", 10); System.out.println("result when limit is 10 = " + Arrays.toString(result)); ) )

Παραγωγή

 αποτέλεσμα όταν το όριο είναι -2 = (a, bc, de, fg, h) αποτέλεσμα όταν το όριο είναι 0 = (a, bc, de, fg, h) αποτέλεσμα όταν το όριο είναι 2 = (a, bc: de: fg: h) αποτέλεσμα όταν το όριο είναι 4 = (a, bc, de, fg: h) αποτέλεσμα όταν το όριο είναι 10 = (a, bc, de, fg, h)

Σημείωση: Η μέθοδος split () παίρνει το regex ως το πρώτο όρισμα. Εάν πρέπει να χρησιμοποιήσετε ειδικούς χαρακτήρες, όπως: , |, ^, *, +κλπ, θα πρέπει να ξεφύγουν από αυτούς τους χαρακτήρες. Για παράδειγμα, πρέπει να το χρησιμοποιήσουμε \+για να χωρίσουμε στο +.

Παράδειγμα 3: διαχωρισμός () στο χαρακτήρα +

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a+e+f"; // splitting the string at "+" String() result = vowels.split("\+"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Παραγωγή

 αποτέλεσμα = (a, e, f)

Εδώ, για να χωρίσουμε μια συμβολοσειρά στο +, χρησιμοποιήσαμε \+. Επειδή +είναι ένας ειδικός χαρακτήρας (έχει μια ιδιαίτερη σημασία σε κανονικές εκφράσεις)

ενδιαφέροντα άρθρα...