Kotlin streng- og strengmaler (med eksempler)

I denne artikkelen vil du lære om Kotlin-strenger, strengmaler og få ofte brukte strengegenskaper og funksjoner ved hjelp av eksempler.

Kotlin String

Strenger er en sekvens av tegn. For eksempel "Hello there!"er en streng bokstavelig.

I Kotlin er alle strengene objekter i Stringklassen. Betydning, strenglitteratur som "Hello there!"er implementert som forekomster av denne klassen.

Hvordan lage en strengvariabel?

Slik kan du definere en Stringvariabel i Kotlin. For eksempel,

 val myString = "Hei der!"

Her er myString en variabel av typen String.

Du kan erklære variabel av typen Stringog spesifisere typen i en setning, og initialisere variabelen i en annen setning senere i programmet.

 val myString: String … myString = "Howdy"

Hvordan få tilgang til tegn i en streng?

For å få tilgang til elementer (tegn) i en streng, brukes indekstilgangsoperatør. For eksempel,

val myString = "Hei der!" val element = myString (2)

Her inneholder elementvariabelen y, det tredje tegnet i myString-strengen. Det er fordi indeksering i Kotlin starter fra 0 og ikke 1.

val myString = "Hei der!" var element: Char item = myString (0) // element inneholder 'H' element = myString (9) // element inneholder '!' element = myString (10) // Feil! Strengindeks er utenfor rekkevidde = myString (-1) // Feil! Strengindeks er utenfor rekkevidde

Eksempel: Iterer gjennom en streng

Hvis du trenger å gjenta elementene i en streng, kan du gjøre det enkelt ved å bruke en for-loop.

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

Når du kjører programmet, vil utdataene være:

 H e y ! 

Strenger i Kotlin er uforanderlige

Som Java er strenger uforanderlige i Kotlin. Dette betyr at du ikke kan endre den enkelte karakteren til en streng. For eksempel,

var myString = "Hei!" myString (0) = 'h' // Feil! Strenger

Du kan imidlertid tildele en strengvariabel på nytt hvis du erklærte variabelen ved hjelp av nøkkelordet var. ( Anbefalt lesing : Kotlin var Vs val)

Eksempel: Tilordne en strengvariabel på nytt.

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

Når du kjører programmet, vil utdataene være:

myString = Hei! myString = Hei!

Strenglitteratur

En bokstavelig er kildekoden som representerer en fast verdi. For eksempel "Hey there!"er en streng bokstavelig som vises direkte i et program uten å kreve beregning (som variabler).

Det finnes to typer strenglitteraler i Kotlin:

1. Rømt streng

En rømt streng kan ha rømt tegn i dem. For eksempel,

 val myString = "Hei der! n" 

Her er en fluktfigur som setter inn en ny linje i teksten der den vises.

Her er en liste over fluktfigurer som støttes i Kotlin:

  • - Innfelt-fanen
  •  - Setter inn tilbaketasten
  • - Setter inn ny linje
  • - Setter inn vognretur
  • \' - Setter inn enkelt sitattegn
  • " - Setter inn dobbelt sitatkarakter
  • \ - Setter tilbakeslag
  • $ - Setter inn dollartegn

2. Rå streng

En rå streng kan inneholde nye linjer (ikke tegn på en ny linje) og vilkårlig tekst. En rå streng avgrenses av et trippel sitat """. For eksempel,

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

Når du kjører programmet, vil utdataene være:

 for (tegn i "Hei!") println (tegn)

Du kan fjerne de ledende mellomrommene i en rå streng ved hjelp av trimMargin () -funksjonen. For eksempel,

Eksempel: Utskrift av rå streng

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

Når du kjører programmet, vil utdataene være:

Output uten å bruke trimMargin-funksjon: | Kotlin er interessant. | Kotlin er sponset og utviklet av JetBrains. Output ved hjelp av trimMargin-funksjon: Kotlin er interessant. Kotlin er sponset og utviklet av JetBrains.

Som standard trimMargin()bruker funksjonen | som marginprefiks. Du kan imidlertid endre det ved å sende en ny streng til denne funksjonen.

Eksempel: trimMargin () med Argument

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

Når du kjører programmet, vil utdataene være:

Kotlin er interessant. Kotlin er sponset og utviklet av 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:

Lengden på s1 streng er 10. Strenger s1 og s2 er like. Tredje karakter er y. resultat = Hei der! Hvordan har du det? Understreng er "den"

Besøk Kotlin String-klassen for mer informasjon om utvidelsesegenskaper, utvidelse, funksjoner og konstruktører.

Interessante artikler...