Kotlin streng og streng skabeloner (med eksempler)

I denne artikel lærer du om Kotlin-strenge, strengskabeloner og få almindeligt anvendte strengegenskaber og -funktioner ved hjælp af eksempler.

Kotlin-streng

Strenge er en sekvens af tegn. For eksempel "Hello there!"er en streng bogstavelig.

I Kotlin er alle strenge objekter i Stringklassen. Betydning, strenglitteraturer som "Hello there!"implementeres som forekomster af denne klasse.

Hvordan oprettes en strengvariabel?

Her er hvordan du kan definere en Stringvariabel i Kotlin. For eksempel,

 val myString = "Hej der!"

Her er myString en variabel af typen String.

Du kan erklære en variabel af typen Stringog angive dens type i en sætning og initialisere variablen i en anden sætning senere i programmet.

 val myString: String … myString = "Howdy"

Hvordan får man adgang til tegn i en streng?

For at få adgang til elementer (tegn) i en streng bruges indeksadgangsoperatør. For eksempel,

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

Her indeholder elementvariablen y, tredje tegn i myString-strengen. Det skyldes, at indeksering i Kotlin starter fra 0 og ikke 1.

val myString = "Hej der!" var item: Char item = myString (0) // element indeholder 'H' element = myString (9) // element indeholder '!' item = myString (10) // Fejl! Strengindeks er uden for rækkevidde = myString (-1) // Fejl! Strengindeks er uden for området

Eksempel: Iterer gennem en streng

Hvis du har brug for at gentage elementerne i en streng, kan du gøre det let ved hjælp af en for-loop.

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

Når du kører programmet, vil output være:

 H e y ! 

Strenge i Kotlin er uforanderlige

Ligesom Java er strenge uforanderlige i Kotlin. Dette betyder, at du ikke kan ændre en strengs individuelle karakter. For eksempel,

var myString = "Hej!" myString (0) = 'h' // Fejl! Strenge

Du kan dog tildele en strengvariabel igen, hvis du erklærede variablen ved hjælp af nøgleord var. ( Anbefalet læsning : Kotlin var Vs val)

Eksempel: Omfordeling af en strengvariabel.

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

Når du kører programmet, vil output være:

myString = Hej! myString = Hej!

Strenglitteratur

En bogstavelig er kildekodepræsentationen af ​​en fast værdi. For eksempel "Hey there!"er en strenglitteratur, der vises direkte i et program uden at kræve beregning (som variabler).

Der er to typer strenglitteraturer i Kotlin:

1. Undsluppet streng

En undslået streng kan have undsluppet tegn i dem. For eksempel,

 val myString = "Hej der! n" 

Her er en flugttegn, der indsætter en ny linje i teksten, hvor den vises.

Her er en liste over flugttegn, der understøttes i Kotlin:

  • - Fanen Indsæt
  •  - Indsætter backspace
  • - Indsætter newline
  • - Indsætter vognretur
  • \' - Indsætter enkelt citattegn
  • " - Indsætter dobbelt citattegn
  • \ - Indsætter tilbageslag
  • $ - Indsætter dollartegn

2. Rå streng

En rå streng kan indeholde nye linier (ikke ny linjeafkomsttegn) og vilkårlig tekst. En rå streng afgrænses af et tredobbelt citat """. For eksempel,

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

Når du kører programmet, vil output være:

 til (tegn i "Hey!") println (tegn)

Du kan fjerne de førende hvide rum i en rå streng ved hjælp af trimMargin () -funktionen. For eksempel,

Eksempel: Udskrivning af 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 kører programmet, vil output være:

Output uden brug af trimMargin-funktion: | Kotlin er interessant. | Kotlin er sponsoreret og udviklet af JetBrains. Output ved hjælp af trimMargin-funktion: Kotlin er interessant. Kotlin er sponsoreret og udviklet af JetBrains.

Som standard trimMargin()bruger funktionen | som marginpræfiks. Du kan dog ændre det ved at sende en ny streng til denne funktion.

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 kører programmet, vil output være:

Kotlin er interessant. Kotlin er sponsoreret og udviklet af 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:

Længden af ​​s1 streng er 10. Strenge s1 og s2 er ens. Tredje karakter er y. resultat = Hej der! Hvordan har du det? Understreng er "den"

Besøg Kotlin String-klassen for at få flere oplysninger om udvidelsesegenskaber, udvidelse, funktioner og konstruktører.

Interessante artikler...