Kotlin String and String Predloge (z primeri)

V tem članku boste s pomočjo primerov spoznali nize Kotlin, predloge nizov in nekaj pogosto uporabljenih lastnosti in funkcij nizov.

Kotlinska struna

Strune so zaporedje znakov. Na primer, "Hello there!"je niz literal.

V Kotlinu so vsi nizi predmeti Stringrazreda. Pomen, nizovne dobesedne črke, kot "Hello there!"so implementirane kot primerki tega razreda.

Kako ustvariti spremenljivko String?

Tukaj je Stringopisano, kako lahko v Kotlinu definirate spremenljivko. Na primer

 val myString = "Hej!"

Tu je myString spremenljivka tipa String.

Spremenljivko tipa lahko deklarirate Stringin določite njen tip v enem stavku, spremenljivko pa inicializirate v drugem stavku kasneje v programu.

 val myString: String … myString = "Zdravo"

Kako dostopati do znakov niza?

Za dostop do elementov (znakov) niza se uporablja operator dostopa do indeksa. Na primer

val myString = "Hej!" val element = myString (2)

Tu spremenljivka postavke vsebuje y, tretji znak niza myString. To je zato, ker se indeksiranje v Kotlinu začne od 0 do 1.

val myString = "Hej!" var item: Char item = myString (0) // element vsebuje 'H' item = myString (9) // element vsebuje '!' item = myString (10) // Napaka! Indeks niza je izven obsega item = myString (-1) // Napaka! Indeks nizov je izven obsega

Primer: Iteracija skozi niz

Če morate itirirati po elementih niza, lahko to enostavno storite z uporabo zanke for.

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

Ko zaženete program, bo rezultat:

 H e y ! 

Strune v Kotlinu so nespremenljive

Tako kot Java so tudi v Kotlinu nizi nespremenljivi. To pomeni, da ne morete spremeniti posameznega znaka niza. Na primer

var myString = "Hej!" myString (0) = 'h' // Napaka! Strune

Vendar lahko spremenljivko niza znova dodelite, če ste spremenljivko razglasili s ključno besedo var. ( Priporočeno branje : Kotlin var Vs val)

Primer: prerazporeditev spremenljivke niza.

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

Ko zaženete program, bo rezultat:

myString = Hej! myString = Pozdravljeni!

String Literals

Dobesedno besedilo je predstavitev izvorne kode fiksne vrednosti. Na primer, "Hey there!"je niz literal, ki se pojavi neposredno v programu, ne da bi bilo treba izračunati (na primer spremenljivke).

V Kotlinu obstajata dve vrsti nizovnih literal:

1. Pobegla vrvica

Ubežajoči niz je lahko v njih ubežal znake. Na primer

 val myString = "Hej! n" 

Tu je ubežni znak, ki vstavi novo vrstico v besedilo, kjer se pojavi.

Tu je seznam ubežnih znakov, ki jih podpira Kotlin:

  • - zavihek Vstavki
  •  - Vstavi backspace
  • - Vstavi novo vrstico
  • - Vstavi vrnitev kočije
  • \' - Vstavi znak z enim narekovajem
  • " - Vstavi znak z dvojnimi narekovaji
  • \ - Vstavi poševnico nazaj
  • $ - Vstavi dolarski znak

2. Surovi niz

Neobdelani niz lahko vsebuje nove vrstice (ne novi ubežni znak) in poljubno besedilo. Neobdelani niz je razmejen s trojnim narekovajem """. Na primer

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

Ko zaženete program, bo rezultat:

 za (znak v "Hej!") println (znak)

Vodilne presledke surovega niza lahko odstranite s funkcijo trimMargin (). Na primer

Primer: Tiskanje surovega niza

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

Ko zaženete program, bo rezultat:

Izhod brez uporabe funkcije trimMargin: | Kotlin je zanimiv. | Kotlin sponzorira in razvija JetBrains. Izhod s funkcijo trimMargin: Kotlin je zanimiv. Kotlin sponzorira in razvija JetBrains.

trimMargin()Funkcija privzeto uporablja | kot predpona roba. Lahko pa ga spremenite tako, da tej funkciji posredujete nov niz.

Primer: trimMargin () z Argument

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

Ko zaženete program, bo rezultat:

Kotlin je zanimiv. Kotlin sponzorira in razvija 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:

Dolžina niza s1 je 10. Struni s1 in s2 sta enaki. Tretji znak je y. rezultat = Hej! Kako si Podniz je "the"

Obiščite razred Kotlin String za več informacij o lastnostih razširitev, razširitvah, funkcijah in konstruktorjih.

Zanimive Članki...