Šablóny Kotlin String a String (s príkladmi)

V tomto článku sa pomocou príkladov dozviete o reťazcoch Kotlin, šablónach reťazcov a niekoľkých bežne používaných vlastnostiach a funkciách reťazcov.

Kotlin String

Reťazce sú postupnosťou znakov. Napríklad "Hello there!"je to reťazcový literál.

V Kotline sú všetky reťazce objektmi Stringtriedy. To znamená, že "Hello there!"ako inštancie tejto triedy sú implementované reťazcové literály, ako sú.

Ako vytvoriť reťazcovú premennú?

Takto môžete definovať Stringpremennú v Kotline. Napríklad,

 val myString = "Ahoj!"

MyString je tu premenná typu String.

Môžete deklarovať premennú typu Stringa určiť jej typ v jednom príkaze a premennú inicializovať v inom príkaze neskôr v programe.

 val myString: Reťazec … myString = "Ahoj"

Ako získať prístup k znakom reťazca?

Na prístup k prvkom (znaku) reťazca sa používa operátor indexového prístupu. Napríklad,

val myString = "Ahoj!" položka valca = myString (2)

Premenná položky tu obsahuje y, tretí znak reťazca myString. Je to preto, že indexovanie v Kotline začína od 0, nie od 1.

val myString = "Ahoj!" var item: Char item = myString (0) // položka obsahuje „H“ položka = myString (9) // položka obsahuje „!“ item = myString (10) // Chyba! Reťazcový index je mimo rozsahu item = myString (-1) // Chyba! Reťazcový index je mimo rozsahu

Príklad: Iterácia cez reťazec

Ak potrebujete iterovať pomocou prvkov reťazca, môžete to ľahko urobiť pomocou slučky for.

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

Po spustení programu bude výstup:

 H e y ! 

Reťazce v Kotline sú nezmeniteľné

Rovnako ako Java, aj reťazce sú v Kotline nemenné. To znamená, že nemôžete meniť jednotlivé znaky reťazca. Napríklad,

var myString = "Hej!" myString (0) = 'h' // Chyba! Struny

Reťazcovú premennú však môžete znova priradiť, ak ste ju deklarovali pomocou kľúčového slova var. ( Odporúčané čítanie : Kotlin var vs val)

Príklad: Opätovné priradenie reťazcovej premennej.

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

Po spustení programu bude výstup:

myString = Hej! myString = Dobrý deň!

Sláčikové literály

Literál je vyjadrenie zdrojového kódu pevnej hodnoty. Ide napríklad "Hey there!"o reťazcový literál, ktorý sa zobrazuje priamo v programe bez potreby výpočtu (napríklad premenných).

V Kotline existujú dva typy reťazcových literálov:

1. Uniknutý reťazec

Reťazec s kódovaním zvláštnych znakov mohol obsahovať znaky, ktoré boli v nich uvedené. Napríklad,

 val myString = "Ahoj! n" 

Tu je únikový znak, ktorý vloží nový riadok do textu, kde sa nachádza.

Tu je zoznam únikových znakov podporovaných v Kotline:

  • - karta Vložky
  •  - Vloží backspace
  • - Vloží nový riadok
  • - Vloží návrat vozíka
  • \' - Vloží znak jednej úvodzovky
  • " - Vloží znak dvojitej úvodzovky
  • \ - Vloží spätné lomítko
  • $ - Vloží znak dolára

2. Surová struna

Nespracovaný reťazec môže obsahovať nové riadky (nie nový riadok) a ľubovoľný text. Nespracovaný reťazec je ohraničený trojitým citátom """. Napríklad,

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

Po spustení programu bude výstup:

 pre (znak v „Hej!“) println (znak)

Predné biele medzery surového reťazca môžete odstrániť pomocou funkcie trimMargin (). Napríklad,

Príklad: Tlač surového reťazca

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

Po spustení programu bude výstup:

Výstup bez použitia funkcie trimMargin: | Kotlin je zaujímavý. | Kotlin je sponzorovaný a vyvinutý spoločnosťou JetBrains. Výstup pomocou funkcie trimMargin: Kotlin je zaujímavý. Kotlin je sponzorovaný a vyvinutý spoločnosťou JetBrains.

V predvolenom nastavení trimMargin()funkcia používa | ako predpona okraja. Môžete to však zmeniť odovzdaním nového reťazca tejto funkcii.

Príklad: trimMargin () s argumentom

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

Po spustení programu bude výstup:

Kotlin je zaujímavý. Kotlin je sponzorovaný a vyvinutý spoločnosťou 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:

Dĺžka reťazca s1 je 10. Reťazce s1 a s2 sú rovnaké. Tretím znakom je y. výsledok = Ahoj! Ako sa máš? Podreťazec je „the“

Navštívte triedu Kotlin String, kde získate ďalšie informácie o vlastnostiach rozšírenia, rozšírení, funkciách a konštruktoroch.

Zaujímavé články...