Kotlini stringi ja stringi mallid (koos näidetega)

Selles artiklis saate näidete abil teada Kotlini stringidest, stringimallidest ning vähestest tavaliselt kasutatavatest stringide omadustest ja funktsioonidest.

Kotlini string

Stringid on tähemärkide jada. Näiteks "Hello there!"on stringi literaal.

Kotlinis on kõik stringid Stringklassi objektid . See tähendab, et sellised stringistruktuurid "Hello there!"on rakendatud selle klassi eksemplaridena.

Kuidas luua muutuja String?

Siit saate teada, kuidas StringKotlinis muutujat määratleda . Näiteks,

 val myString = "Hei seal!"

Siin on myString tüüpi muutuja String.

Muutuja tüübi saab deklareerida Stringja selle tüübi ühes lauses määrata ning initsialiseerida muutuja teises avalduses hiljem programmis.

 val myString: String … myString = "Howdy"

Kuidas kasutada stringi märke?

Stringi elementidele (märgile) juurde pääsemiseks kasutatakse indeksjuurdepääsuoperaatorit. Näiteks,

val myString = "Hei seal!" val item = myString (2)

Siin sisaldab üksuse muutuja y, myStringi stringi kolmandat märki. Sellepärast, et Kotlinis indekseerimine algab 0-st mitte 1-st.

val myString = "Hei seal!" var element: Char item = myString (0) // element sisaldab 'H' element = myString (9) // element sisaldab '!' item = myString (10) // Viga! Stringi indeks jääb vahemikust välja = myString (-1) // Viga! Stringi indeks on vahemikust väljas

Näide: korduvad stringi kaudu

Kui teil on vaja stringi elementide kaudu itereerida, saate seda hõlpsalt teha for loopi abil.

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

Programmi käivitamisel on väljund järgmine:

 H e y ! 

Kotlini keeled on muutumatud

Nagu Java, on ka stringid Kotlinis muutumatud. See tähendab, et te ei saa stringi individuaalset iseloomu muuta. Näiteks,

var myString = "Hei!" myString (0) = 'h' // Viga! Keelpillid

Kuid võite stringimuutuja uuesti määrata, kui deklareerisite muutuja märksõna abil var. ( Soovitatav lugemine : Kotlin var Vs val)

Näide: stringimuutuja uuesti määramine.

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

Programmi käivitamisel on väljund järgmine:

myString = Hei! myString = Tere!

Keelpillid

Literal on fikseeritud väärtuse lähtekoodi esitus. Näiteks "Hey there!"on stringi literaal, mis ilmub programmis otse arvutamist nõudmata (nagu muutujad).

Kotlinis on kahte tüüpi stringi literaale:

1. Põgenenud string

Põgenenud string võis neis põgeneda. Näiteks,

 val myString = "Hei seal! n" 

Siin on põgenemismärk, mis lisab uue rea teksti, kuhu see ilmub.

Siin on Kotlini toetatud põgenemismärkide loend:

  • - vahekaart Lisab
  •  - sisestab tagasilöögi
  • - lisab uue rea
  • - Lisab vaguni tagasipöörde
  • \' - Lisab ühe jutumärgi
  • " - Lisab topelttsiteeritud märgi
  • \ - lisab tagasilöögi
  • $ - lisab dollarimärgi

2. Toores string

Toores string võib sisaldada uusi ridu (mitte uut reapõgenemist) ja suvalist teksti. Toores string on piiratud kolmekordse tsitaadiga """. Näiteks,

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

Programmi käivitamisel on väljund järgmine:

 for (tegelaskuju "Hei!") Println (märk)

Funktsiooni trimMargin () abil saate toore stringi juhtivad tühikud eemaldada. Näiteks,

Näide: töötlemata stringi printimine

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

Programmi käivitamisel on väljund järgmine:

Väljund ilma trimMargini funktsiooni kasutamata: | Kotlin on huvitav. | Kotlinit toetab ja arendab JetBrains. Väljund funktsiooni trimMargin abil: Kotlin on huvitav. Kotlinit toetab ja arendab JetBrains.

Vaikimisi trimMargin()kasutab funktsioon | marginaali eesliitena. Kuid saate seda muuta, edastades sellele funktsioonile uue stringi.

Näide: trimMargin () argumendiga

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

Programmi käivitamisel on väljund järgmine:

Kotlin on huvitav. Kotlinit toetab ja arendab 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:

Stringi s1 pikkus on 10. Stringid s1 ja s2 on võrdsed. Kolmas märk on y. tulemus = Hei seal! Kuidas sul läheb? Alamstring on "the"

Lisateavet laienduse omaduste, laienduse, funktsioonide ja ehitajate kohta leiate Kotlin Stringi klassist.

Huvitavad Artiklid...