Kotlin String и String шаблони (с примери)

В тази статия ще научите за Kotlin низове, шаблони за низове и няколко често използвани свойства и функции на низове с помощта на примери.

Струна на Котлин

Низовете са последователност от символи. Например, "Hello there!"е низ литерал.

В Kotlin всички низове са обекти от Stringклас. Значение, низови литерали като например "Hello there!"са внедрени като екземпляри на този клас.

Как да създам променлива String?

Ето как можете да определите Stringпроменлива в Kotlin. Например,

 val myString = "Здравей!"

Тук myString е променлива от тип String.

Можете да декларирате променлива от тип Stringи да посочите нейния тип в един оператор и да инициализирате променливата в друг оператор по-късно в програмата.

 val myString: String … myString = "Привет"

Как да вляза в символите на низ?

За достъп до елементи (символ) на низ се използва оператор за достъп до индекс. Например,

val myString = "Здравей!" val елемент = myString (2)

Тук променливата item съдържа y, трети знак от низа myString. Това е така, защото индексирането в Kotlin започва от 0, а не от 1.

val myString = "Здравей!" var item: Char item = myString (0) // елементът съдържа 'H' item = myString (9) // елементът съдържа '!' item = myString (10) // Грешка! Индексът на низа е извън диапазона item = myString (-1) // Грешка! Индексът на низове е извън обхвата

Пример: Итерация през низ

Ако трябва да прегледате елементи от низ, можете да го направите лесно, като използвате цикъл for.

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

Когато стартирате програмата, изходът ще бъде:

 H e y ! 

Струните в Kotlin са неизменни

Подобно на Java, низовете са неизменни в Kotlin. Това означава, че не можете да променяте индивидуален символ на низ. Например,

var myString = "Хей!" myString (0) = 'h' // Грешка! Струни

Можете обаче да преназначите променлива на низ отново, ако сте декларирали променливата с помощта на ключова дума var. ( Препоръчително четиво : Kotlin var Vs val)

Пример: Преназначаване на низова променлива.

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

Когато стартирате програмата, изходът ще бъде:

myString = Хей! myString = Здравейте!

Струнни литерали

Буквалът е представяне на изходния код на фиксирана стойност. Например, "Hey there!"е низов литерал, който се появява директно в програма, без да се изисква изчисление (като променливи).

В Kotlin има два типа низови литерали:

1. Избягал низ

Екранираният низ може да има екранирани символи в тях. Например,

 val myString = "Здравей! n" 

Тук е извеждащ символ, който вмъква нов ред в текста, където се появява.

Ето списък на символите за бягство, поддържани в Kotlin:

  • - Раздел Вмъквания
  •  - Вмъква обратно пространство
  • - Вмъква нов ред
  • - Вмъква връщане на каретката
  • \' - Вмъква знак с една кавичка
  • " - Вмъква знак с двойни кавички
  • \ - Вмъква обратна наклонена черта
  • $ - Вмъква доларов знак

2. Суров низ

Необработеният низ може да съдържа нови редове (не нов символ за извеждане на ред) и произволен текст. Суровият низ се разграничава с тройна кавичка """. Например,

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

Когато стартирате програмата, изходът ще бъде:

 за (символ в "Хей!") println (символ)

Можете да премахнете водещите бели пространства на суров низ, като използвате функцията trimMargin (). Например,

Пример: Отпечатване на суров низ

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

Когато стартирате програмата, изходът ще бъде:

Изход без използване на функцията trimMargin: | Kotlin е интересен. | Kotlin е спонсориран и разработен от JetBrains. Изход, използващ функцията trimMargin: Kotlin е интересен. Kotlin е спонсориран и разработен от JetBrains.

По подразбиране trimMargin()функцията използва | като префикс на полето. Можете обаче да го промените, като предадете нов низ на тази функция.

Пример: trimMargin () с Argument

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

Когато стартирате програмата, изходът ще бъде:

Котлин е интересен. Kotlin е спонсориран и разработен от JetBrains.

Kotlin String шаблони

Kotlin има страхотна функция, наречена низови шаблони, която позволява на низовете да съдържат изрази на шаблони.

Изразът на шаблонен низ започва със знак за долар $. Ето няколко примера:

Пример: Шаблон за низ на Kotlin

 fun main(args: Array) ( val myInt = 5; val myString = "myInt = $myInt" println(myString) )

Когато стартирате програмата, изходът ще бъде:

 myInt = 5

Това е така, защото изразът $ myInt (израз, започващ с $ sign) вътре в низа се оценява и обединява в низа.

Пример: Шаблон за низове със суров низ

 fun main(args: Array) ( val a = 5 val b = 6 val myString = """ |$(if (a> b) a else b) """ println("Larger number is: $(myString.trimMargin())") )

Когато стартирате програмата, изходът ще бъде:

 По-голямо число е: 6 

Малко струнни свойства и функции

Тъй като литералите в Kotlin са внедрени като екземпляри на Stringклас, можете да използвате няколко метода и свойства на този клас.

  • length свойство - връща дължината на символната последователност на низ.
  • 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:

Дължината на s1 низ е 10. Низовете s1 и s2 са равни. Третият знак е y. резултат = Ей там! Как си? Поднизът е "the"

Посетете клас Kotlin String за повече информация относно свойствата на разширението, разширението, функциите и конструкторите.

Интересни статии...