Ebben a cikkben a Kotlin karakterláncokról, karakterlánc-sablonokról és néhány gyakran használt karakterlánc-tulajdonságról és -funkcióról ismerhet meg példákat.
Kotlin húr
A karakterláncok egy karaktersorozat. Például "Hello there!"
egy karakterlánc szó.
Kotlinban az összes húr String
osztály objektuma . Jelentése: az olyan karakterlánc-literálok, mint "Hello there!"
amilyeneket ennek az osztálynak a példányaként hajtanak végre.
Hogyan hozhatunk létre String változót?
Így határozhat meg egy String
változót a Kotlinban. Például,
val myString = "Hé, ott!"
Itt a myString egy típusú változó String
.
Deklarálhat egy típusú változót String
és megadhatja annak típusát egy utasításban, és inicializálhatja a változót egy másik utasításban a program későbbi részében.
val myString: String… myString = "Howdy"
Hogyan érhető el egy karakterlánc karaktere?
A karakterlánc elemeinek (karakterének) eléréséhez index-hozzáférési operátort kell használni. Például,
val myString = "Hé, ott!" val item = myString (2)
Itt az elem változó az yS, a myString karakterlánc harmadik karakterét tartalmazza. Azért, mert az indexelés Kotlinban 0-tól nem 1-től kezdődik.
val myString = "Hé, ott!" var item: Char item = myString (0) // elem 'H' elemet tartalmaz = myString (9) // az elem '!' item = myString (10) // Hiba! A karakterlánc indexe kívül esik az elemen = myString (-1) // Hiba! A karakterlánc indexe kívül esik
Példa: Iteráljon egy húron keresztül
Ha egy karakterlánc elemein keresztül kell iterálnia, akkor könnyen megteheti a for ciklus használatával.
fun main(args: Array) ( val myString = "Hey!" for (item in myString) ( println(item) ) )
A program futtatásakor a kimenet a következő lesz:
H e y !
A húrok Kotlinban megváltoztathatatlanok
A Java-hoz hasonlóan a húrok is megváltoztathatatlanok Kotlinban. Ez azt jelenti, hogy nem módosíthatja a karakterlánc egyedi karakterét. Például,
var myString = "Hé!" myString (0) = 'h' // Hiba! Húrok
Ha azonban a kulcsszó használatával deklarálta a változót, újból hozzárendelhet egy karakterlánc-változót var
. ( Ajánlott irodalom : Kotlin var Vs val)
Példa: Stringváltozó hozzárendelése.
fun main(args: Array) ( var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") )
A program futtatásakor a kimenet a következő lesz:
myString = Hé! myString = Helló!
Vonós literálok
A literál egy fix érték forráskód ábrázolása. Például "Hey there!"
egy karakterlánc, amely közvetlenül megjelenik a programban, anélkül, hogy számítást igényelne (mint a változók).
Kétféle húr literál létezik Kotlinban:
1. Megszökött húr
Lehetséges, hogy egy megszökött karaktersorozat megszökött karaktereket tartalmaz. Például,
val myString = "Hé, ott! n"
Itt egy escape karakter, amely beszúr egy új sort a szövegben, ha úgy tűnik.
Itt van egy lista a Kotlinban támogatott menekülési karakterekről:
- Visszatérés
- Új sort ír be
- Beszúrja a kocsivisszát
\'
- Egyetlen idézőjel beszúrása"
- Dupla idézőjelet illeszt be\
- Visszavonás$
- Beilleszti a dollár karaktert
2. Nyers húr
A nyers karakterlánc tartalmazhat új sorokat (nem új sortörési karaktereket) és tetszőleges szöveget. A nyers karakterláncot hármas idézet határolja """
. Például,
fun main(args: Array) ( val myString = """ for (character in "Hey!") println(character) """ print(myString) )
A program futtatásakor a kimenet a következő lesz:
mert (karakter a "Hé!") println (karakter)
A trimMargin () függvény segítségével eltávolíthatja a nyers karakterlánc vezető szóközét. Például,
Példa: Nyers karakterlánc nyomtatása
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()) )
A program futtatásakor a kimenet a következő lesz:
Kimenet a trimMargin függvény használata nélkül: | Kotlin érdekes. | A Kotlint a JetBrains szponzorálja és fejleszti. Kimenet a trimMargin függvény használatával: Kotlin érdekes. A Kotlint a JetBrains szponzorálja és fejleszti.
Alapértelmezés szerint a trimMargin()
function | mint margin előtag. Megváltoztathatja azonban, ha új karakterláncot ad át ennek a függvénynek.
Példa: trimMargin () argumentummal
fun main(args: Array) ( val myString = """ !!! Kotlin is interesting. !!! Kotlin is sponsored and developed by JetBrains. """ println(myString.trimMargin("!!! ")) )
A program futtatásakor a kimenet a következő lesz:
Kotlin érdekes. A Kotlint a JetBrains szponzorálja és fejleszti.
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 ofget
function as index access operator internally callsget
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 ofplus
function as+
operator callsplus
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:
Az s1 karakterlánc hossza 10. Az s1 és az s2 húr egyenlő. A harmadik karakter y. eredmény = Hé ott! Hogy vagy? Az alhúr "a"
Látogasson el a Kotlin String osztályba, ahol további információt talál a kiterjesztés tulajdonságairól, a kiterjesztésről, a funkciókról és a kivitelezőkről.