String — це тип, який представляє текстові рядки. Kotlin має велику різноманітність функцій для роботи з рядками.

Оголошення рядків Рядки в Kotlin створюються з допомогою подвійних лапок: val mytxt="text" val mytxt2:String="text2" // з явним вказанням типу (необов'язково) Довжину рядка можна отримати з використанням властивості length. val length=mytxt.length

Робота з консоллю Для виводу рядків на екран застосовуються функції print() та println(). Різниця між ними в тому, що перша не переносить курсор на новий рядок, а інша навпаки переность його на новий рядок після її виконання.

Прочитати рядок з консолі можна з допомогою функції readln() print("Введіть ім'я>") val firstName=readln() println("Введіть прізвище") val lastName=readln() println("Ви ввели: $firstName $lastName")

Розділення та поєднання рядків Для розділення рядків на складові використовується функція split(), а для поєнання функція joinToString(). Обидві функції як аргумент приймають рядок по якому слід розбивати або ж поєднувати. val text:String="My native town is beautiful" val text2:List<String> =text.split(" ") println(text2) val text3:String=text2.joinToString("-") println(text3)

Для яснішого розуміння, що відбуваається для змінних явно вказані їх типи. Функція split() повертає об'єкт типу List (список) - це щось схоже на масиви. Детальніше див. Колекції. Як бачимо програма спочатку розбила на елементи наш текст використовуючи пробіл як розмежовувач, а потім збила, отриманий список слів, знову у String, але для з'єднання вже використовувалось тире.

Пошук, заміна та модифікація Доволі часта операція при роботі зі String є пошук певних слів у певному рядку. У Kotlin існує багато функцій для цього. Просто перевірити чи входить певний текст у інший текст можна за допомогою функцій contains(), startsWith(), endsWith(). val text:String="My native town is beautiful" if (text.contains("town")) println ("слово town присутній у тексті") if (text.startsWith("My")) println ("текст починається зі слова My") if (text.endsWith("beautiful")) println ("текст закінчується на beautiful") Як видно з лістинга згадані функції повертають boolean значення, тобто true або false.

Часто постає задача знайти певну послідовність символів, наприклад, з метою подальшої їх заміни на іншу послідовність. Це можна зробити з допомогою функції indexOf(): val text:String="My native town is beautiful" val index=text.indexOf("is") // 15 Функція поверне -1, якщо послідовність не знайдена в текстовому рядку.

Можна отримати певний кусочок із існуючого рядка за допомогою функції substring() вказавши індекси початкових символів і кінцевих символів: val text:String="My native town is beautiful" val newStr=text.substring(15,17) // is

Також можна замінити існуюче слово в тексті на інше з допомогою функції replace(): val text:String="My native town is beautiful" val newStr=text.replace("beautiful","awful") println(newStr)

Якщо постає необхідність видалити пробіли на початку і вкінці рядка, то використовують функцію trim(): val text:String=" My native town is beautiful " val newStr=text.trim() Це часто необхідно робити після вводу рядків користувачем, які можуть випадаково поставити пробіли при вводі вкінці чи на початку текстового рядка.

Також часта задача переведення рядка у верхній або нижній регістр. Для цього слугують функції uppercase() та lowercase(): val text:String=" My native town is beautiful " val newStr=text.uppercase() // MY NATIVE TOWN IS BEAUTIFUL val newStr2=text.lowercase() //my native town is beautiful Записати рядок задом наперед можна з функцією reversed(): val reversedText=text.reversed() //lufituaeb si nwot evitan yM

Перевірка на порожність рядка У Kotlin існують дві функції на перевірку на порожність рядка isEmpty() та isBlank(), що повертають значення типу boolean, тобто true або false. Різниця у них в тому, що isEmpty() видасть false, якщо текст складається лише з пробілів. isBlank() не враховує пробіли. val text="" println(text.isEmpty()) //true println(text.isBlank()) //true val text2=" " println(text2.isEmpty()) //false println(text2.isBlank()) //true

Інші функції Kotlin має і інші функції та різні модифікації згаданих функцій. Ви можете дослідини їх у IntelliJ IDEA набравши після змінної типу String крапочку і в спливаючому вікні отримати список доступних функцій. Нажавши Ctrl+Q на вибраній функції, можна отримати детальний опис даної функції.