diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index c271f49a378..182d7dbe934 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.kt @@ -694,6 +694,15 @@ public fun String.contains(seq: CharSequence, ignoreCase: Boolean = false): Bool indexOf(seq.toString(), ignoreCase = ignoreCase) >= 0 +/** + * Returns `true` if this string contains the specified character. + * + * @param ignoreCase `true` to ignore character case when comparing characters. By default `false`. + */ +public fun String.contains(char: Char, ignoreCase: Boolean = false): Boolean = + indexOf(char, ignoreCase = ignoreCase) >= 0 + + // rangesDelimitedBy diff --git a/libraries/stdlib/test/text/StringTest.kt b/libraries/stdlib/test/text/StringTest.kt index eda6fa62d3a..5a65fed8ecb 100644 --- a/libraries/stdlib/test/text/StringTest.kt +++ b/libraries/stdlib/test/text/StringTest.kt @@ -478,12 +478,16 @@ class StringTest { test fun contains() { - assertTrue("sample".contains("pl")) - assertFalse("sample".contains("PL")) + assertTrue("pl" in "sample") + assertFalse("PL" in "sample") assertTrue("sömple".contains("Ö", ignoreCase = true)) - assertTrue("sample".contains("")) - assertTrue("".contains("")) + assertTrue("" in "sample") + assertTrue("" in "") + + assertTrue('ö' in "sömple") + assertFalse('Ö' in "sömple") + assertTrue("sömple".contains('Ö', ignoreCase = true)) } test fun equalsIgnoreCase() {