Πρότυπα String and String Kotlin (με παραδείγματα)

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

Σειρά Kotlin

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

Στο Kotlin, όλες οι χορδές είναι αντικείμενα της Stringτάξης. Σημασία, οι γραμματοσειρές συμβολοσειράς όπως "Hello there!"εφαρμόζονται ως παρουσίες αυτής της κλάσης.

Πώς να δημιουργήσετε μια μεταβλητή String;

Δείτε πώς μπορείτε να ορίσετε μια Stringμεταβλητή στο Kotlin. Για παράδειγμα,

 val myString = "Γεια σου!"

Εδώ, το myString είναι μια μεταβλητή τύπου String.

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

 val myString: String… myString = "Howdy"

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

Για πρόσβαση σε στοιχεία (χαρακτήρας) μιας συμβολοσειράς, χρησιμοποιείται ο τελεστής πρόσβασης ευρετηρίου. Για παράδειγμα,

val myString = "Γεια σου!" val item = myString (2)

Εδώ, η μεταβλητή στοιχείου περιέχει y, τρίτο χαρακτήρα της συμβολοσειράς myString. Είναι επειδή η ευρετηρίαση στο Kotlin ξεκινά από 0 όχι 1.

val myString = "Γεια σου!" var item: Char item = myString (0) // item περιέχει 'H' item = myString (9) // το item περιέχει '!' item = myString (10) // Σφάλμα! Το ευρετήριο συμβολοσειράς είναι εκτός εύρους στοιχείου = myString (-1) // Σφάλμα! Ο δείκτης συμβολοσειράς είναι εκτός εμβέλειας

Παράδειγμα: Επανάληψη μέσω συμβολοσειράς

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

 fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )

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

 H e y ! 

Οι χορδές στο Kotlin είναι αμετάβλητες

Όπως η Java, οι χορδές είναι αμετάβλητες στο Kotlin. Αυτό σημαίνει ότι δεν μπορείτε να αλλάξετε μεμονωμένο χαρακτήρα μιας συμβολοσειράς. Για παράδειγμα,

var myString = "Γεια!" myString (0) = 'h' // Σφάλμα! Χορδές

Ωστόσο, μπορείτε να εκχωρήσετε ξανά μια μεταβλητή συμβολοσειράς εάν δηλώσετε τη μεταβλητή χρησιμοποιώντας λέξη-κλειδί var. ( Συνιστώμενη ανάγνωση : Kotlin var Vs val)

Παράδειγμα: Αναδιάταξη μεταβλητής συμβολοσειράς.

 fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )

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

myString = Γεια! myString = Γεια σας!

String Literals

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

Υπάρχουν δύο τύποι γραμματοσειρών στο Kotlin:

1. Διαφυγή συμβολοσειρά

Μια συμβολοσειρά διαφυγής μπορεί να έχει χαρακτήρες διαφυγής. Για παράδειγμα,

 val myString = "Γεια σου! n" 

Εδώ, είναι ένας χαρακτήρας διαφυγής που εισάγει μια νέα γραμμή στο κείμενο όπου εμφανίζεται.

Ακολουθεί μια λίστα με χαρακτήρες διαφυγής που υποστηρίζονται στο Kotlin:

  • - Εισαγωγή καρτέλας
  •  - Εισάγει backspace
  • - Εισάγει νέα γραμμή
  • - Εισάγει την επιστροφή μεταφοράς
  • \' - Εισάγει έναν μοναδικό εισαγωγικό χαρακτήρα
  • " - Εισάγει διπλό χαρακτήρα προσφοράς
  • \ - Εισάγει ανάστροφη κάθετο
  • $ - Εισάγει χαρακτήρα δολαρίου

2. Πρώτες χορδές

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

 fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )

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

 για (χαρακτήρας στο "Hey!") println (χαρακτήρας)

Μπορείτε να καταργήσετε τα κενά κενά σημεία μιας πρώτης συμβολοσειράς χρησιμοποιώντας τη λειτουργία trimMargin (). Για παράδειγμα,

Παράδειγμα: Εκτύπωση Raw String

 fun main(args: Array) ( println("Output without using trimMargin function:") val myString = """ |Kotlin is interesting. |Kotlin is sponsored and developed by JetBrains. """ println(myString) println("Output using trimMargin function:") println(myString.trimMargin()) ) 

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

Έξοδος χωρίς τη χρήση της λειτουργίας trimMargin: | Το Kotlin είναι ενδιαφέρον. | Το Kotlin χρηματοδοτείται και αναπτύσσεται από την JetBrains. Έξοδος με χρήση της λειτουργίας trimMargin: Το Kotlin είναι ενδιαφέρον. Το Kotlin χρηματοδοτείται και αναπτύσσεται από την JetBrains.

Από προεπιλογή, η trimMargin()συνάρτηση χρησιμοποιεί | ως πρόθεμα περιθωρίου. Ωστόσο, μπορείτε να την αλλάξετε μεταβιβάζοντας μια νέα συμβολοσειρά σε αυτήν τη λειτουργία.

Παράδειγμα: trimMargin () with Argument

 fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )

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

Το Kotlin είναι ενδιαφέρον. Το Kotlin χρηματοδοτείται και αναπτύσσεται από την JetBrains.

Kotlin String Templates

Kotlin has an awesome feature called string templates that allows strings to contain template expressions.

A string template expression starts with a dollar sign $. Here are few examples:

Example: Kotlin String Template

 fun main(args: Array) ( val myInt = 5; val myString = "myInt = $myInt" println(myString) )

When you run the program, the output will be:

 myInt = 5

It is because the expression $myInt (expression starting with $ sign) inside the string is evaluated and concatenated into the string.

Example: String Template With Raw String

 fun main(args: Array) ( val a = 5 val b = 6 val myString = """ |$(if (a> b) a else b) """ println("Larger number is: $(myString.trimMargin())") )

When you run the program, the output will be:

 Larger number is: 6 

Few String Properties and Functions

Since literals in Kotlin are implemented as instances of String class, you can use several methods and properties of this class.

  • length property - returns the length of character sequence of an string.
  • compareTo function - compares this String (object) with the specified object. Returns 0 if the object is equal to the specfied object.
  • get function - returns character at the specified index.
    You can use index access operator instead of get function as index access operator internally calls get function.
  • plus function - returns a new string which is obtained by the concatenation of this string and the string passed to this function.
    You can use + operator instead of plus function as + operator calls plus function under the hood.
  • subSequence Function - returns a new character sequence starting at the specified start and end index.

Example: String Properties and Function

 fun main(args: Array) ( val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("Length of s1 string is $(s1.length).") result = if (s1.compareTo(s2) == 0) "equal" else "not equal" println("Strings s1 and s2 are $result.") // s1.get(2) is equivalent to s1(2) println("Third character is $(s1.get(2)).") result = s1.plus(" How are you?") // result = s1 + " How are you?" println("result = $result") println("Substring is "$(s1.subSequence(4, 7)) "") )

When you run the program, the output is:

Το μήκος της συμβολοσειράς s1 είναι 10. Οι συμβολοσειρές s1 και s2 είναι ίσες. Ο τρίτος χαρακτήρας είναι το y. αποτέλεσμα = Γεια σου! Πώς είσαι; Το Substring είναι "το"

Επισκεφθείτε την τάξη Kotlin String για περισσότερες πληροφορίες σχετικά με ιδιότητες επέκτασης, επέκταση, λειτουργίες και κατασκευαστές.

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