5 τρόποι χειρισμού συμβολοσειρών στην Java

Πίνακας περιεχομένων:

5 τρόποι χειρισμού συμβολοσειρών στην Java
5 τρόποι χειρισμού συμβολοσειρών στην Java

Βίντεο: 5 τρόποι χειρισμού συμβολοσειρών στην Java

Βίντεο: 5 τρόποι χειρισμού συμβολοσειρών στην Java
Βίντεο: Access 2007 - Δημιουργία νέας βάσης δεδομένων και πινάκων 2024, Απρίλιος
Anonim

Οι χορδές είναι ακολουθίες χαρακτήρων. Για παράδειγμα, "Γεια!" είναι μια συμβολοσειρά επειδή αποτελείται από τους χαρακτήρες 'H', 'e', 'l', 'l', 'o' και '!'. Στην Java, οι συμβολοσειρές είναι αντικείμενα, πράγμα που σημαίνει ότι υπάρχει μια κλάση συμβολοσειράς που έχει πεδία και μεθόδους. Μπορούμε να χρησιμοποιήσουμε τις μεθόδους της κλάσης String για να χειριστούμε συμβολοσειρές.

Βήματα

Μέθοδος 1 από 5: Δημιουργήστε μια συμβολοσειρά

3016567 1 1
3016567 1 1

Βήμα 1. Δημιουργήστε μια συμβολοσειρά χρησιμοποιώντας τον κατασκευαστή της κλάσης String

    String str = new String ("Γεια σας!");

3016567 2 1
3016567 2 1

Βήμα 2. Δημιουργήστε μια συμβολοσειρά εκχωρώντας απευθείας μια συμβολοσειρά

3016567 3 1
3016567 3 1

Βήμα 3. Δοκιμάστε ένα παράδειγμα

Εδώ είναι ένα δείγμα προγράμματος που δημιουργεί μια συμβολοσειρά με δύο διαφορετικούς τρόπους.

    δημόσια τάξη StringManipulation {public static void main (String args) {String str1 = new String ("Η συμβολοσειρά δημιουργήθηκε με έναν κατασκευαστή!"); String str2 = "Η συμβολοσειρά δημιουργήθηκε χωρίς κατασκευαστή!"; System.out.println (str1); System.out.println (str2); }}

Μέθοδος 2 από 5: Βρείτε το μήκος μιας χορδής

Βήμα 1. Κατανοήστε τι σημαίνει να βρείτε το μήκος μιας συμβολοσειράς

Το μήκος μιας συμβολοσειράς είναι ο αριθμός των χαρακτήρων που περιέχει η συμβολοσειρά. Για παράδειγμα, το μήκος της συμβολοσειράς "Hello!" είναι 6 επειδή έχει 6 χαρακτήρες.

3016567 5 1
3016567 5 1

Βήμα 2. Καλέστε το

μήκος()

μέθοδο στο αντικείμενο συμβολοσειράς και αποθηκεύστε το αποτέλεσμα σε μια ακέραιη μεταβλητή.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Βήμα 3. Δώστε μια ευκαιρία

Εδώ είναι ένα δείγμα προγράμματος που βρίσκει το μήκος μιας συμβολοσειράς.

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; int strLength = str.length (); System.out.println ("Το μήκος του \" " + str +" / "είναι" + strLength + "."); }}

Μέθοδος 3 από 5: Αντιστρέψτε μια συμβολοσειρά

3016567 7
3016567 7

Βήμα 1. Κατανοήστε τι σημαίνει αντιστροφή μιας συμβολοσειράς

Αντιστρέφοντας μια συμβολοσειρά σημαίνει να αλλάξετε τη σειρά των χαρακτήρων σε μια συμβολοσειρά. Για παράδειγμα, το αντίστροφο της συμβολοσειράς "Hello!" είναι "! olleH". Υπάρχουν πολλοί τρόποι για να αντιστρέψετε μια συμβολοσειρά στην Java.

3016567 8 1
3016567 8 1

Βήμα 2. Χρησιμοποιήστε την αντίστροφη μέθοδο της κλάσης StringBuffer

Δημιουργήστε ένα αντικείμενο StringBuffer που λαμβάνει τη συμβολοσειρά που θέλετε να αντιστρέψετε ως παράμετρο. Χρησιμοποιήστε τη μέθοδο αντίστροφης () της StringBuffer και, στη συνέχεια, ανακτήστε τη νέα αντιστρεπτή συμβολοσειρά χρησιμοποιώντας τη μέθοδο toString ().

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = new StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Το αντίστροφο της συμβολοσειράς \" " + str +" / "είναι \" " + reversedStr +" / "."); }}

3016567 9 1
3016567 9 1

Βήμα 3. Επαναλάβετε τους χαρακτήρες σε μια συμβολοσειρά αντίστροφα, προσθέτοντας αυτούς τους χαρακτήρες σε ένα StringBuffer σε κάθε επανάληψη

Δημιουργήστε ένα νέο αντικείμενο StringBuffer που έχει αρχικοποιηθεί με το μήκος της συμβολοσειράς που θέλετε να αντιστρέψετε ως παράμετρος. Στη συνέχεια, χρησιμοποιήστε έναν βρόχο for για να επαναλάβετε τη συμβολοσειρά, ξεκινώντας από τον τελευταίο χαρακτήρα της συμβολοσειράς και καταλήγοντας στον πρώτο χαρακτήρα της συμβολοσειράς. Σε κάθε επανάληψη, προσθέστε τον χαρακτήρα σε αυτό το ευρετήριο στο StringBuffer. Ανακτήστε τη νέα αντιστραμμένη συμβολοσειρά χρησιμοποιώντας τη μέθοδο toString ().

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = new StringBuffer (str.length ()); για (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Το αντίστροφο της συμβολοσειράς \" " + str +" / "είναι \" " + reversedStr +" / "."); }}

3016567 10 1
3016567 10 1

Βήμα 4. Γράψτε μια αναδρομική συνάρτηση για να αντιστρέψετε τη συμβολοσειρά

Στην αναδρομική συνάρτηση, η βασική περίπτωση / συνθήκη είναι εάν η συμβολοσειρά είναι μηδενική ή εάν το μήκος της συμβολοσειράς είναι μικρότερο ή ίσο με κανένα. Διαφορετικά, η αντίστροφη μέθοδος () καλείται ξανά με τη συμβολοσειρά μείον τον πρώτο χαρακτήρα και ο πρώτος χαρακτήρας προστίθεται στο τέλος. Αν λοιπόν περάσουμε στη συμβολοσειρά "Hello!", Η πρώτη αντίστροφη () κλήση μετά από αυτήν θα έχει την παράμετρο "ello!".

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; String reversedStr = αντίστροφο (str); System.out.println ("Το αντίστροφο της συμβολοσειράς \" " + str +" / "είναι \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; επιστροφή όπισθεν (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Βήμα 5. Μετατρέψτε τη συμβολοσειρά σε μια σειρά χαρακτήρων και, στη συνέχεια, εναλλάξτε την πρώτη και την τελευταία, τη δεύτερη και τη δεύτερη με την τελευταία κ.λπ

χαρακτήρες. Μετατρέψτε πρώτα τη συμβολοσειρά σε έναν πίνακα χαρακτήρων χρησιμοποιώντας τη μέθοδο toCharArray () στη συμβολοσειρά. Λάβετε το ευρετήριο του τελευταίου χαρακτήρα στον πίνακα, το οποίο είναι ίσο με το μήκος του πίνακα μείον ένα. Στη συνέχεια, επαναλάβετε τον πίνακα, αλλάζοντας το iου χαρακτήρα και το indexOfLastChar - iου χαρακτήρα σε κάθε επανάληψη. Τέλος, μετατρέψτε τον πίνακα χαρακτήρων πίσω σε μια συμβολοσειρά.

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; για (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } String reversedStr = new String (charArray); System.out.println ("Το αντίστροφο της συμβολοσειράς \" " + str +" / "είναι \" " + reversedStr +" / "."); }}

3016567 12 1
3016567 12 1

Βήμα 6. Ελέγξτε την έξοδό σας

Εδώ είναι η έξοδος που προκύπτει από οποιαδήποτε από αυτές τις μεθόδους για αντιστροφή συμβολοσειράς.

Μέθοδος 4 από 5: Κόψτε το λευκό διάστημα σε μια χορδή

3016567 13
3016567 13

Βήμα 1. Κατανοήστε τι σημαίνει περικοπή λευκού χώρου σε μια συμβολοσειρά

Το κόψιμο μιας συμβολοσειράς σε Java σημαίνει την αφαίρεση του κεντρικού και του δεύτερου λευκού χώρου στη συμβολοσειρά. Για παράδειγμα, εάν έχετε τη συμβολοσειρά"

Γειά σου Κόσμε!

"και θέλετε να το πείτε" Γεια, κόσμο! "χωρίς το λευκό διάστημα στην αρχή και στο τέλος, μπορείτε να κόψετε τη συμβολοσειρά. Η κλάση συμβολοσειράς παρέχει μια μέθοδο περικοπής () η οποία επιστρέφει ένα αντίγραφο της συμβολοσειράς με Ο κύριος και ο δεύτερος λευκός χώρος έχει αφαιρεθεί ή η αρχική συμβολοσειρά εάν δεν έχει κενό ή πίσω λευκό χώρο.

3016567 14 1
3016567 14 1

Βήμα 2. Χρησιμοποιήστε τη μέθοδο trim () της κλάσης String σε ένα αντικείμενο String για να κόψετε τον λευκό χώρο

Σημειώστε ότι η μέθοδος trim () θα ρίξει μια εξαίρεση εάν η συμβολοσειρά είναι null. Η μέθοδος trim () δεν θα αλλάξει το περιεχόμενο της αρχικής συμβολοσειράς επειδή οι συμβολοσειρές στην Java είναι αμετάβλητες, πράγμα που σημαίνει ότι η κατάσταση μιας συμβολοσειράς δεν μπορεί να τροποποιηθεί μετά τη δημιουργία της. Μάλλον, η μέθοδος trim () θα επιστρέψει μια νέα συμβολοσειρά στην οποία έχει αποκοπεί το κενό διάστημα.

    String trimmedStr = str.trim ();

Βήμα 3. Δοκιμάστε ένα παράδειγμα

Εδώ είναι ένα δείγμα προγράμματος που περικόπτει τον λευκό χώρο μιας συμβολοσειράς:

    δημόσια τάξη StringManipulation {public static void main (String args) {String str = "Hello!"; String trimmedStr = str.trim (); System.out.println ("Η αρχική συμβολοσειρά είναι \" " + str +" / "."); System.out.println ("Trimmed String is \" " + trimmedStr +" / "."); }}

Μέθοδος 5 από 5: Διαχωρίστε μια συμβολοσειρά

3016567 16
3016567 16

Βήμα 1. Κατανοήστε τι σημαίνει διαχωρισμός μιας συμβολοσειράς

Διαχωρισμός μιας συμβολοσειράς σε Java σημαίνει να χωρίσετε μια συμβολοσειρά κατά έναν οριστικό οριοθέτη σε έναν πίνακα υποστοιχιών. Για παράδειγμα, αν χωρίζω τη συμβολοσειρά "κόκκινο, μπλε, πράσινο, κίτρινο, ροζ" με ένα κόμμα ως οριοθέτη, θα έπαιρνα τον πίνακα {"κόκκινο", "μπλε", "πράσινο", "κίτρινο", "ροζ "}. Ακολουθούν τρεις διαφορετικοί τρόποι για να χωρίσετε μια συμβολοσειρά.

3016567 17 1
3016567 17 1

Βήμα 2. Χρήση

StringTokenizer

για να συμβολίσει τη συμβολοσειρά.

Εισαγωγή

java.util. StringTokenizer

Το Στη συνέχεια, δημιουργήστε μια νέα παρουσία α

StringTokenizer

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

StringTokenizer

μπορείτε να χρησιμοποιήσετε το

nextToken ()

μέθοδος λήψης κάθε διακριτικού.

    εισαγωγή java.util. Arrays; εισαγωγή java.util. StringTokenizer; δημόσια τάξη StringManipulation {public static void main (String args) {String str = "κόκκινο, πράσινο, μπλε, κίτρινο, ροζ"; StringTokenizer tokenizer = νέο StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = new String [numberOfTokens]; για (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginal String:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

  • Πριν από την Java 1.4, το

    StringTokenizer

    Η κλάση χρησιμοποιήθηκε για τον διαχωρισμό συμβολοσειρών στην Java. Τώρα όμως, η χρήση του

    StringTokenizer

    αποθαρρύνεται και η χρήση του

    διαίρεση()

    μέθοδο στο

    Σειρά

    τάξη ή τη χρήση του

    java.util.regex

  • το πακέτο ενθαρρύνεται.
3016567 18 1
3016567 18 1

Βήμα 3. Χρησιμοποιήστε το

Σειρά

της τάξης

διαίρεση()

μέθοδος.

ο

διαίρεση()

η μέθοδος θα λάβει τον οριοθέτη ως παράμετρο και θα επιστρέψει μια σειρά υπο-συμβολοσειρών που είναι ίδιες με τις μάρκες από το

StringTokenizer

    εισαγωγή java.util. Arrays; δημόσια τάξη StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; String splitArr = str.split (","); System.out.println ("\ nOriginal String:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Βήμα 4. Χρησιμοποιήστε κανονικές εκφράσεις για να χωρίσετε τη συμβολοσειρά

Εισαγωγή

java.util.regex. Pattern

Το Χρησιμοποιήστε το

συντάσσω()

μέθοδος του

Πρότυπο

κλάση για να ορίσετε τον οριοθέτη και στη συνέχεια να δώσετε το

διαίρεση()

μέθοδο της συμβολοσειράς που θέλετε να χωρίσετε. ο

Πρότυπο

θα επιστρέψει μια σειρά υπο -συμβολοσειρών.

    εισαγωγή java.util. Arrays; εισαγωγή java.util.regex. Pattern; δημόσια τάξη StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginal String:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Βήμα 5. Ελέγξτε την έξοδό σας

Εδώ είναι η έξοδος που προκύπτει από οποιαδήποτε από αυτές τις μεθόδους διαχωρισμού συμβολοσειρών.

Συνιστάται: