Șiruri și șabloane de șiruri Kotlin (cu exemple)

În acest articol, veți afla despre șirurile Kotlin, șabloanele de șiruri și câteva proprietăți și funcții ale șirurilor utilizate în mod obișnuit, cu ajutorul exemplelor.

Coarda Kotlin

Șirurile sunt o succesiune de caractere. De exemplu, "Hello there!"este un șir literal.

În Kotlin, toate șirurile sunt obiecte de Stringclasă. Înțeles, literele șirului cum ar fi "Hello there!"sunt implementate ca instanțe ale acestei clase.

Cum se creează o variabilă String?

Iată cum puteți defini o Stringvariabilă în Kotlin. De exemplu,

 val myString = "Hei acolo!"

Aici, myString este o variabilă de tip String.

Puteți declara variabila de tip Stringși specifica tipul acesteia într-o instrucțiune și inițializa variabila într-o altă instrucțiune mai târziu în program.

 val myString: String … myString = "Howdy"

Cum se accesează personajele unui șir?

Pentru a accesa elementele (caracterul) unui șir, se folosește operatorul de acces la index. De exemplu,

val myString = "Hei acolo!" val item = MyString (2)

Aici, variabila de element conține y, al treilea caracter al șirului myString. Acest lucru se datorează faptului că indexarea în Kotlin începe de la 0 nu 1.

val myString = "Hei acolo!" var item: Char item = myString (0) // item contains 'H' item = myString (9) // item contains '!' item = myString (10) // Eroare! Indicele șirului este în afara domeniului element = myString (-1) // Eroare! Indicele șirului este în afara intervalului

Exemplu: Iterează printr-un șir

Dacă trebuie să iterați prin elementele unui șir, puteți face acest lucru cu ușurință utilizând o buclă for.

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

Când rulați programul, ieșirea va fi:

 H e y ! 

Corzile din Kotlin sunt imuabile

La fel ca Java, șirurile sunt imuabile în Kotlin. Aceasta înseamnă că nu puteți schimba caracterul individual al unui șir. De exemplu,

var myString = "Hei!" myString (0) = 'h' // Eroare! Siruri de caractere

Cu toate acestea, puteți reatribui din nou o variabilă șir dacă ați declarat variabila utilizând cuvânt cheie var. ( Citire recomandată : Kotlin var Vs val)

Exemplu: Reatribuirea unei variabile de șir.

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

Când rulați programul, ieșirea va fi:

myString = Hei! myString = Bună ziua!

Litere cu corzi

Un literal este reprezentarea codului sursă al unei valori fixe. De exemplu, "Hey there!"este un șir literal care apare direct într-un program fără a necesita calcul (cum ar fi variabilele).

Există două tipuri de literali de șir în Kotlin:

1. Șir scăpat

Un șir scăpat poate avea caractere scăpate în ele. De exemplu,

 val myString = "Hei acolo! n" 

Iată un personaj de evadare care introduce o nouă linie în textul în care apare.

Iată o listă a personajelor de evacuare acceptate în Kotlin:

  • - fila Inserări
  •  - Inserează backspace
  • - Inserează linie nouă
  • - Inserează returul căruciorului
  • \' - Inserează caracterul citatului unic
  • " - Inserează caracterul ghilimelelor duble
  • \ - Inserează bară inversă
  • $ - Inserează caracter dolar

2. Șir brut

Un șir brut poate conține linii noi (nu un caracter nou de evadare a liniei) și text arbitrar. Un șir brut este delimitat de un ghilimel triplu """. De exemplu,

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

Când rulați programul, ieșirea va fi:

 for (personaj din „Hei!”) println (personaj)

Puteți elimina spațiile albe ale unui șir brut utilizând funcția trimMargin (). De exemplu,

Exemplu: Tipărirea șirului brut

 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()) ) 

Când rulați programul, ieșirea va fi:

Ieșire fără utilizarea funcției trimMargin: | Kotlin este interesant. | Kotlin este sponsorizat și dezvoltat de JetBrains. Ieșire folosind funcția trimMargin: Kotlin este interesant. Kotlin este sponsorizat și dezvoltat de JetBrains.

În mod implicit, trimMargin()funcția folosește | ca prefix de marjă. Cu toate acestea, îl puteți schimba trecând un nou șir la această funcție.

Exemplu: trimMargin () cu Argument

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

Când rulați programul, ieșirea va fi:

Kotlin este interesant. Kotlin este sponsorizat și dezvoltat de 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:

Lungimea șirului s1 este 10. Șirurile s1 și s2 sunt egale. Al treilea personaj este y. rezultat = Hei acolo! Ce mai faci? Șirul este „cel”

Accesați clasa Kotlin String pentru mai multe informații despre proprietățile extensiei, extensia, funcțiile și constructorii.

Articole interesante...