diff --git a/libraries/stdlib/samples/test/samples/text/strings.kt b/libraries/stdlib/samples/test/samples/text/strings.kt index 5fc114cb564..7cabb60f5de 100644 --- a/libraries/stdlib/samples/test/samples/text/strings.kt +++ b/libraries/stdlib/samples/test/samples/text/strings.kt @@ -204,6 +204,7 @@ class Strings { val noPadding = "abcde".padEnd(3) assertPrints("'$noPadding'", "'abcde'") } + @Sample fun clearStringBuilder() { val builder = StringBuilder() @@ -357,4 +358,15 @@ class Strings { assertPrints(string.map { it.toUpperCase() }, "[K, O, T, L, I, N]") } + @Sample + fun indexOf() { + fun getSubstringDetails(str: String, toFind: String): String { + return "Found $toFind in $str at position ${str.indexOf(toFind)}" + } + + val str = "Kotlin" + val toFind = "otli" + + assertPrints(getSubstringDetails(str, toFind), "Found otli in Kotlin at position 1") + } } diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index dedb9822136..2f4c0c3e000 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -984,6 +984,7 @@ public fun CharSequence.lastIndexOfAny(strings: Collection, startIndex: * * @param ignoreCase `true` to ignore character case when matching a character. By default `false`. * @return An index of the first occurrence of [char] or -1 if none is found. + * @sample samples.text.Strings.indexOf */ public fun CharSequence.indexOf(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int { return if (ignoreCase || this !is String) @@ -998,6 +999,7 @@ public fun CharSequence.indexOf(char: Char, startIndex: Int = 0, ignoreCase: Boo * * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. * @return An index of the first occurrence of [string] or `-1` if none is found. + * @sample samples.text.Strings.indexOf */ public fun CharSequence.indexOf(string: String, startIndex: Int = 0, ignoreCase: Boolean = false): Int { return if (ignoreCase || this !is String)