Kotlin String indexOf

The indexOf function in Kotlin is used to find the index of the first occurrence of a specified substring or character within a string. This function belongs to the String class in the Kotlin standard library and provides a straightforward way to search for substrings or characters.

Table of Contents

  1. Introduction
  2. indexOf Function Syntax
  3. Understanding indexOf
  4. Examples
    • Basic Usage
    • Using indexOf with Ignore Case
    • Finding a Character from a Specific Start Index
  5. Real-World Use Case
  6. Conclusion

Introduction

The indexOf function searches for the first occurrence of a specified substring or character within a string and returns its index. If the substring or character is not found, the function returns -1.

indexOf Function Syntax

The syntax for the indexOf function is as follows:

fun String.indexOf(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int
fun String.indexOf(string: String, startIndex: Int = 0, ignoreCase: Boolean = false): Int

Parameters:

  • char: The character to search for.
  • string: The substring to search for.
  • startIndex: The index to start the search from (default is 0).
  • ignoreCase: If true, the search will ignore case differences (default is false).

Returns:

  • The index of the first occurrence of the specified substring or character, or -1 if it is not found.

Understanding indexOf

The indexOf function performs a search within the string for the specified substring or character. The search can start from a specified index and can be case-insensitive if desired.

Examples

Basic Usage

To demonstrate the basic usage of indexOf, we will search for a character and a substring within a string.

Example

fun main() {
    val text = "Hello, World!"
    val indexChar = text.indexOf('o')
    val indexString = text.indexOf("World")

    println("Index of 'o': $indexChar")
    println("Index of 'World': $indexString")
}

Output:

Index of 'o': 4
Index of 'World': 7

Using indexOf with Ignore Case

This example shows how to use the ignoreCase parameter for case-insensitive search.

Example

fun main() {
    val text = "Hello, World!"
    val indexCaseInsensitive = text.indexOf("world", ignoreCase = true)

    println("Index of 'world' (ignore case): $indexCaseInsensitive")
}

Output:

Index of 'world' (ignore case): 7

Finding a Character from a Specific Start Index

This example demonstrates how to search for a character starting from a specific index.

Example

fun main() {
    val text = "Hello, World!"
    val indexFromStart = text.indexOf('o', startIndex = 5)

    println("Index of 'o' from index 5: $indexFromStart")
}

Output:

Index of 'o' from index 5: 8

Real-World Use Case

Searching for a Substring in User Input

In real-world applications, the indexOf function can be used to search for specific substrings within user input, such as searching for a keyword in a text.

Example

fun main() {
    val userInput = "Please find the keyword in this text."
    val keyword = "keyword"
    val indexKeyword = userInput.indexOf(keyword)

    if (indexKeyword != -1) {
        println("Keyword found at index: $indexKeyword")
    } else {
        println("Keyword not found.")
    }
}

Output:

Keyword found at index: 12

Conclusion

The indexOf function in Kotlin's String class is a versatile method for finding the index of the first occurrence of a specified substring or character within a string. It provides a simple way to perform search operations for various use cases, including validation, substring extraction, and user input analysis. By understanding and using this function, you can effectively manage string search operations in your Kotlin applications.

Comments