diff --git a/libraries/stdlib/samples/test/samples/text/strings.kt b/libraries/stdlib/samples/test/samples/text/strings.kt index 7cabb60f5de..fa925bf1ce5 100644 --- a/libraries/stdlib/samples/test/samples/text/strings.kt +++ b/libraries/stdlib/samples/test/samples/text/strings.kt @@ -360,13 +360,17 @@ class Strings { @Sample fun indexOf() { - fun getSubstringDetails(str: String, toFind: String): String { - return "Found $toFind in $str at position ${str.indexOf(toFind)}" + fun matchDetails(inputString: String, whatToFind: String, startIndex: Int = 0): String { + val matchIndex = inputString.indexOf(whatToFind, startIndex) + return "Searching for '$whatToFind' in '$inputString' starting at position $startIndex: " + + if (matchIndex >= 0) "Found at $matchIndex" else "Not found" } - val str = "Kotlin" - val toFind = "otli" + val inputString = "Never ever give up" + val toFind = "ever" - assertPrints(getSubstringDetails(str, toFind), "Found otli in Kotlin at position 1") + assertPrints(matchDetails(inputString, toFind), "Searching for 'ever' in 'Never ever give up' starting at position 0: Found at 1") + assertPrints(matchDetails(inputString, toFind, 2), "Searching for 'ever' in 'Never ever give up' starting at position 2: Found at 6") + assertPrints(matchDetails(inputString, toFind, 10), "Searching for 'ever' in 'Never ever give up' starting at position 10: Not found") } } diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index 2f4c0c3e000..d473a52143a 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -984,7 +984,6 @@ 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)