Kotlin String split

The split function in Kotlin is used to divide a string into substrings based on a specified delimiter. This function is part of the Kotlin standard library and provides a straightforward way to break a string into a list of substrings.

Table of Contents

  1. Introduction
  2. split Function Syntax
  3. Examples
    • Basic Usage
    • Using Multiple Delimiters
    • Limiting the Number of Substrings
    • Using Regular Expressions as Delimiters
  4. Real-World Use Case
  5. Conclusion

Introduction

The split function divides a string into substrings based on a specified delimiter or multiple delimiters. The resulting substrings are returned as a list. This is useful for parsing and processing strings that contain structured data.

The split function can use one or more delimiters to divide the string into substrings. It can also use regular expressions to define more complex splitting criteria. The limit parameter can be used to control the maximum number of substrings to return.

split Function Syntax

The syntax for the split function is as follows:

fun CharSequence.split(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): List<String>
fun CharSequence.split(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): List<String>
fun CharSequence.split(regex: Regex, limit: Int = 0): List<String>

Parameters:

  • delimiters: One or more delimiters to use for splitting the string.
  • ignoreCase: If true, the case will be ignored when comparing delimiters (default is false).
  • limit: The maximum number of substrings to return. If zero, there is no limit (default is zero).
  • regex: A regular expression to use as the delimiter.

Returns:

  • A list of substrings resulting from the split.

Examples

Basic Usage

To demonstrate the basic usage of split, we will create a string and split it using a single delimiter.

Example

fun main() {
    val text = "Kotlin is a modern, concise, and safe programming language."
    val words = text.split(" ")
    println("Original text: $text")
    println("Words: $words")
}

Output:

Original text: Kotlin is a modern, concise, and safe programming language.
Words: [Kotlin, is, a, modern,, concise,, and, safe, programming, language.]

Using Multiple Delimiters

This example shows how to use multiple delimiters to split a string.

Example

fun main() {
    val text = "Kotlin:is;a;modern,concise,and;safe;programming,language."
    val words = text.split(" ", ",", ";", ":")
    println("Original text: $text")
    println("Words: $words")
}

Output:

Original text: Kotlin:is;a;modern,concise,and;safe;programming,language.
Words: [Kotlin, is, a, modern, concise, and, safe, programming, language.]

Limiting the Number of Substrings

This example demonstrates how to limit the number of substrings returned by the split function.

Example

fun main() {
    val text = "Kotlin is a modern, concise, and safe programming language."
    val limitedWords = text.split(" ", limit = 4)
    println("Original text: $text")
    println("Limited words: $limitedWords")
}

Output:

Original text: Kotlin is a modern, concise, and safe programming language.
Limited words: [Kotlin, is, a, modern, concise, and safe programming language.]

Using Regular Expressions as Delimiters

This example shows how to use a regular expression as the delimiter for the split function.

Example

fun main() {
    val text = "Kotlin1is2a3modern4concise5and6safe7programming8language."
    val regex = "\\d".toRegex() // Split on digits
    val words = text.split(regex)
    println("Original text: $text")
    println("Words: $words")
}

Output:

Original text: Kotlin1is2a3modern4concise5and6safe7programming8language.
Words: [Kotlin, is, a, modern, concise, and, safe, programming, language.]

Real-World Use Case

Parsing CSV Data

In real-world applications, the split function can be used to parse CSV (Comma-Separated Values) data.

Example

fun main() {
    val csvLine = "John,Doe,30,Male,Developer"
    val fields = csvLine.split(",")
    println("CSV line: $csvLine")
    println("Fields: $fields")
}

Output:

CSV line: John,Doe,30,Male,Developer
Fields: [John, Doe, 30, Male, Developer]

Conclusion

The split function in Kotlin is a convenient method for dividing a string into substrings based on specified delimiters. It provides a simple way to parse and process structured data within strings. By understanding and using this function, you can effectively manage string splitting and extraction operations in your Kotlin applications.

Comments