String in Kotlin

In this tutorial, we will learn about String in Kotlin. A string is an array of characters(char type values) and String class is used to represent strings in Kotlin. It is important to note just like Java, String is an immutable class in Kotlin it means we can not change of object once after creation.

Creating a String in Kotlin:

In Kotlin we can use double quotes (“”) to create escaped string or triple quote(“”” “””) to create raw string literals. Check out the following example program to understand different ways to create a string in Kotlin.

Example Program:

fun main(args : Array<String>){

    var str1 = "Owlbuddy" 
    var str2 = """Owlbuddy 
                  Programming 
                  Tutorials""" 
    var str3 : String = "Owlbuddy Programming Tutorials"
    var charArray= charArrayOf('O', 'w', 'l', 'b', 'u', 'd', 'd', 'y')  
    var str4 = String(charArray)  
    
    println(str1)
    println(str2)
    println(str3)
    println(str4)
}

Output:

Owlbuddy
Owlbuddy 
                  Programming 
                  Tutorials
Owlbuddy Programming Tutorials
Owlbuddy

Ways to create String in Kotlin:

  • Using double quotes (“”)
  • Using triple quote(“”” “””)

Using double quotes (“”):

Most of the time we use double quotes to declare String literals in Kotlin. When we create double quotes to create Strings this kind of stings are known as escaped strings because we can use escape characters like ‘\n’, ‘\t’, ‘\b’, etc’ in these(double-quoted) strings. Please check out the example Program to understand it.

Example Program:

fun main(args: Array<String>) { 
      
    var name = "Rahul"
    var age = 20
    println("Hello $name \nYour age is $age") 
} 

Output:

Hello Rahul 
Your age is 20

Available Escape characters in Kotlin:

  • \”: to add a double quote in the string
  • \r: to carriage return
  • \n: to add a new line
  • \’: to add a single quote in the string
  • \\: to add backslash in the string
  • \t: to add space in string
  • \b: to add backspace

Using triple quote(“”” “””):

Another way to declare strings in Kotlin is by using triple quotes. Triple quotes are used to create raw strings. These are mainly used to create multi-line strings and raw strings can not contain escaped characters. Please check out the following example program to understand it.

Example Program:

fun main(args: Array<String>) { 
      
    var text="""Hello Friends
    |Welcome to Owlbuddy, You can Learn Here
    |Python
    |Java 
    |Kotlin etc""".trimMargin() 
    println(text) 
} 

In above example we have used trimMargin() function. This function is used to fix the margins in strings and it use | as margin prefix

Output:

Hello Friends
Welcome to Owlbuddy, You can Learn Here
Python
Java 
Kotlin etc

Empty String in Kotlin:

It is really easy to create an empty string in Kotlin. We just have to create an object of string class with default constructor to create an empty string. Please check out the following example program to understand it.

fun main(args : Array<String>){
    var str1 = String()
}

String Functions:

FunctionsDescription
compareTo(other: String): IntThis function is used to compare the current string object with the specified string object. It returns zero if the current string object equals to a specified string object.
get(index: Int): CharThis function returns the character at the specified index in the string.
plus(other: Any?): StringThis function returns string after concatenating a string with the specified string.
subSequence(startIndex: Int,endIndex: Int): CharSequenceThis function returns the new string from the current string, starting from startIndex to endIndex.
CharSequence.contains(other: CharSequence, ignoreCase: Boolean = false):BooleanThis function returns true or false based on if the string contains the other specified character sequence.
CharSequence.count(): IntThis function returns the length of the string.
String.drop(n: Int): StringThis function returns a string after removing the first n character from the string.
String.dropLast(n: Int): StringThis function returns a string after removing the last n character from the string.
String.dropWhile
(predicate: (Char) -> Boolean
): String
This function returns a character sequence which contains all the characters, except first characters which satisfy the given predicate.
CharSequence.elementAt(index: Int): CharThis function returns the character at the given index or IndexOutOfBoundsException in case the index number is bigger than the size of the char sequence.
CharSequence.indexOf(char: Char, startIndex: Int = 0,
ignoreCase: Boolean = false
): Int
This function returns the index of the given character’s first occurrence.
CharSequence.indexOfFirst(
predicate: (Char) -> Boolean
): Int
This function returns the index of the given character’s first occurrence.
CharSequence.indexOfLast(
predicate: (Char) -> Boolean
): Int
This function returns the index of the given character’s last occurrence.
CharSequence.getOrElse(index: Int, defaultValue: (Int) ->Char): CharThis function returns the character at the given index in the char sequence or the default value if the index is bigger than the size of the char sequence.
CharSequence.getOrNull(index: Int): Char?This function returns the character at the given index in the char sequence or a null value if the index is bigger than the size of the char sequence.
Spread the love