From 91decc9f33eebaea2d983337856f4761564a31c2 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 3 Apr 2015 15:59:19 +0300 Subject: [PATCH] Add String.contains with Char argument. Fixes #KT-7239. --- libraries/stdlib/src/kotlin/text/Strings.kt | 9 +++++++++ libraries/stdlib/test/text/StringTest.kt | 12 ++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) 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() {