Swift χαρακτήρες και χορδές (με παραδείγματα)

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

Τι είναι ο χαρακτήρας;

Ένας χαρακτήρας είναι ένα μόνο σύμβολο (γράμμα, αριθμός κ.λπ.). Ο χαρακτήρας σε γρήγορο χαρακτήρα είναι Characterτύπου και δηλώνεται ως:

 αφήστε μερικάCharacter: Character

Πώς να δηλώσετε και να εκχωρήσετε έναν χαρακτήρα στο Swift;

Μπορείτε να αντιστοιχίσετε τιμή σε τύπο χαρακτήρα όπως το String χρησιμοποιώντας διπλά εισαγωγικά, " "αλλά θα πρέπει να περιέχει μόνο έναν χαρακτήρα μέσα στα εισαγωγικά " ".

Εάν πρέπει να συμπεριλάβετε περισσότερους από έναν χαρακτήρες, πρέπει να τον ορίσετε Stringαντί Character.

Παράδειγμα 1: Δήλωση και εκχώρηση χαρακτήρα

 let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Η @

Παράδειγμα 2: Εκχώρηση περισσότερων από ενός χαρακτήρων (Δεν λειτουργεί)

Αλλά αν προσπαθήσετε να αντιστοιχίσετε δύο σύμβολα μέσα στον χαρακτήρα ως

 /* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter) 

Όταν προσπαθείτε να εκτελέσετε τον παραπάνω κώδικα, θα λάβετε ένα σφάλμα ως:

 Δεν είναι δυνατή η μετατροπή της τιμής του τύπου String σε Character.

Δημιουργία χαρακτήρα χρησιμοποιώντας ακολουθία unicode και διαφυγής

Μπορείτε επίσης να δημιουργήσετε ειδικό τύπο χαρακτήρων για το em.ji em χρησιμοποιώντας unicodes. Μπορείτε να δημιουργήσετε έναν unicode χρησιμοποιώντας ακολουθία διαφυγής u (n) (σημείο κωδικού unicode, το n είναι σε δεκαεξαδικό).

Παράδειγμα 3: Δημιουργία χαρακτήρα unicode

 let heartShape:Character = "u(2665)" print(heartShape) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

Στο παραπάνω παράδειγμα, ένας χαρακτήρας σε σχήμα καρδιάς δημιουργήθηκε από κώδικα U+2665. Αν u(2665)και περιλαμβάνεται σε διπλά εισαγωγικά, ο μεταγλωττιστής δεν το αντιμετωπίζει ως Stringεπειδή χρησιμοποιήσαμε την ακολουθία διαφυγής u(n). Μια ακολουθία διαφυγής δεν αντιπροσωπεύεται όταν περιλαμβάνεται στην κυριολεκτική.

Τι είναι μια χορδή;

Μια συμβολοσειρά είναι απλώς μια συλλογή χαρακτήρων. Οι συμβολοσειρές στο Swift είναι Stringτύπου και δηλώνονται ως:

 ας κάνουμε κάποιο String: String

Πώς να δηλώσετε και να εκχωρήσετε μια συμβολοσειρά στο Swift;

Μπορείτε να εκχωρήσετε τιμή σε τύπο συμβολοσειράς χρησιμοποιώντας γραμματοσειρές συμβολοσειράς. Μια συμβολοσειρά γραμματοσειράς είναι μια συλλογή χαρακτήρων με διπλά εισαγωγικά " ".

Παράδειγμα 4: Δήλωση και εκχώρηση συμβολοσειράς

 let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

Γειά σου Κόσμε! Λατρεύω το Swift.

Εδώ, "Hello, world!"και οι δύο και "I love Swift."είναι κυριολεκτικές συμβολοσειρές χρησιμοποιούνται για τη δημιουργία μεταβλητών συμβολοσειράς someString και someMessage αντίστοιχα.

Λειτουργίες σε μια συμβολοσειρά

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

Σύγκριση συμβολοσειρών

Μπορείτε απλώς να ελέγξετε αν δύο χορδές είναι ίσες ή όχι χρησιμοποιώντας το χειριστή σύγκρισης (==). Ο χειριστής επιστρέφει επιστροφές trueεάν και οι δύο χορδές είναι ίσες, διαφορετικά επιστρέφει false.

Παράδειγμα 5: Σύγκριση συμβολοσειρών στο Swift

 let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 λάθος αλήθεια

Συνδυασμός συμβολοσειράς

Μπορούν να προστεθούν δύο διαφορετικές τιμές συμβολοσειρών μαζί με τον τελεστή προσθήκης (+)ή χρησιμοποιώντας τον τελεστή ανάθεσης σύνθετων (+=). Μπορείτε επίσης να προσθέσετε έναν χαρακτήρα / συμβολοσειρά σε μια συμβολοσειρά χρησιμοποιώντας τη appendμέθοδο.

Παράδειγμα 6: Συνένωση συμβολοσειρών στο Swift

 let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Γεια, Κόσμος Γεια, Κόσμος!

Στο παραπάνω πρόγραμμα δημιουργήσαμε ένα αποτέλεσμα συμβολοσειράς προσθέτοντας helloStr και worldStr χρησιμοποιώντας το + χειριστή. Έτσι, print(result)βγάζει το Hello, World στην οθόνη.

Μπορείτε επίσης να προσθέσετε οποιοδήποτε χαρακτήρα ή συμβολοσειρά χρησιμοποιώντας τη appendμέθοδο. result.append("!")επισυνάπτει έναν !χαρακτήρα στο τέλος της συμβολοσειράς. Έτσι, print(result)έξοδο Γεια, Κόσμος! στην οθόνη.

Συνδυασμός συμβολοσειράς χρησιμοποιώντας προηγμένο χειριστή ανάθεσης

Μπορούμε επίσης να χρησιμοποιήσουμε προηγμένο χειριστή ανάθεσης (+ =) για να προσθέσουμε συμβολοσειρά.

Παράδειγμα 7: Συνδυασμός συμβολοσειράς χρησιμοποιώντας χειριστή + =

 var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

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

Παρατηρήστε τη χρήση του var αντί του let in helloStr. Εάν έχετε ορίσει helloStr μια σταθερή χρήση let, δεν μπορείτε να το αλλάξετε αργότερα χρησιμοποιώντας το +=χειριστή και τελικά να λάβετε ένα σφάλμα. Έτσι, πρέπει να ορίσετε helloStr μια μεταβλητή.

Παρεμβολή συμβολοσειράς

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

 let playerName = "Jack" Αφήστε τον παίκτηScore = 99

Τώρα πρέπει να εμφανίσετε ένα μήνυμα στον παίκτη ως "Συγχαρητήρια Jack !. Το υψηλότερο σκορ σας είναι 99." Εδώ, πρέπει να χρησιμοποιήσετε έναν τρόπο για να χρησιμοποιήσετε τις τιμές των σταθερών σε μία συμβολοσειρά.

This can be achieved using string concatenation as:

 let congratsMessage = "Congratulations " + playerName + "!. Your highest score is " + playerScore + "." print(congratsMessage)

However, you can see this can get messy pretty soon. You have to take care of the spaces after the word Congratulations, is. Also, if you have to use more than two constants/variables, it will get unreadable.

There’s an easier way to display the message using string interpolation. Interpolation is the process to include value of a variable or constant inside string literal.

The variable or constant that should insert into the string literal is wrapped in a pair of parentheses ( ), prefixed by a backslash ().

Example 8: String interpolation in Swift

 let playerName = "Jack" let playerScore = 99 let congratsMessage = "Congratulations (playerName)!. Your highest score is (playerScore)." print(congratsMessage) 

When you run the program, the output will be:

 Congratulations Jack!. Your highest score is 99.

Some helpful built-in String functions & variables:

1. isEmpty

This function determines if a string is empty or not. It returns true if the string is empty otherwise, it returns false.

Example 9: isEmpty

 var emptyString = "" print(emptyString.isEmpty) 

When you run the program, the output will be:

 true

2. capitalized

This property is used to capitalize every word in a string.

Example 10: capitalized

 let someString = "hello, world!" print(someString.capitalized) 

When you run the program, the output will be:

 Hello, World!

3. uppercased and lowercased

The uppercased function converts string to uppercase letter and the lowercased function converts string to lowercase letter.

Example 11: uppercased() and lowercased()

 let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased()) 

When you run the program, the output will be:

 HELLO, WORLD! hello, world!

4. Length/count

This property is used to count the total number of characters in a string.

Example 12: count

 let someString = "Hello, World!" print(someString.count) 

When you run the program, the output will be:

 13

5. hasPrefix

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

Παράδειγμα 13: hasPrefix ()

 let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell")) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Σωστό Λάθος 

6. hasSuffix

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

Παράδειγμα 14: hasSuffix ()

 print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!")) 

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Σωστό Λάθος 

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