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.
lengthproperty - returns the length of character sequence of an string.compareTofunction - compares this String (object) with the specified object. Returns 0 if the object is equal to the specfied object.getfunction - returns character at the specified index.
You can use index access operator instead ofgetfunction as index access operator internally callsgetfunction.plusfunction - 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 ofplusfunction as+operator callsplusfunction under the hood.subSequenceFunction - 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.








