Add isEmpty, isBlank methods and their nullable and negating couterparts.

This commit is contained in:
Ilya Gorbunov
2015-03-31 18:31:45 +03:00
parent 4efb0dbf9a
commit ac4b207413
4 changed files with 71 additions and 3 deletions
@@ -1,6 +1,7 @@
package kotlin
import java.util.NoSuchElementException
import kotlin.platform.platformName
/** Returns the string with leading and trailing text matching the given string removed */
deprecated("Use removeEnclosing(text, text) or removePrefix(text).removeSuffix(text)")
@@ -146,8 +147,49 @@ public fun String.padEnd(length: Int, padChar: Char = ' '): String {
}
/** Returns true if the string is not null and not empty */
deprecated("Use isNotNullOrEmpty for nullable strings.")
platformName("isNotEmptyNullable")
public fun String?.isNotEmpty(): Boolean = this != null && this.length() > 0
/**
* Return `true` if this nullable string is either null or empty.
*/
public fun String?.isNullOrEmpty(): Boolean = this == null || this.length() == 0
/**
* Return `true` if this nullable string is neither null nor empty.
*/
public fun String?.isNotNullOrEmpty(): Boolean = this != null && this.length() > 0
/**
* Returns `true` if this string is empty (contains no characters).
*/
public fun String.isEmpty(): Boolean = length() == 0
/**
* Returns `true` if this string is not empty.
*/
public fun String.isNotEmpty(): Boolean = length() > 0
// implemented differently in JVM and JS
//public fun String.isBlank(): Boolean = length() == 0 || all { it.isWhitespace() }
/**
* Returns `true` if this string is not empty and contains some characters except of whitespace characters.
*/
public fun String.isNotBlank(): Boolean = !isBlank()
/**
* Returns `true` if this nullable string is either null or empty or consists solely of whitespace characters.
*/
public fun String?.isNullOrBlank(): Boolean = this == null || this.isBlank()
/**
* Returns `true` if this nullable string is neither null nor empty, and contains some characters except of whitespace characters.
*/
public fun String?.isNotNullOrBlank(): Boolean = this != null && !this.isBlank()
/**
* Iterator for characters of given CharSequence
*/
@@ -275,10 +275,9 @@ public fun String.getChars(srcBegin: Int, srcEnd: Int, dst: CharArray, dstBegin:
public fun String.intern(): String = (this as java.lang.String).intern()
/**
* Returns `true` if this string is empty (contains no characters).
* Returns `true` if this string is empty or consists solely of whitespace characters.
*/
public fun String.isEmpty(): Boolean = (this as java.lang.String).isEmpty()
public fun String.isBlank(): Boolean = length() == 0 || all { it.isWhitespace() }
/**
* Returns `true` if this string matches the given regular expression.