added count(predicate) helper function to String along with Char.is*() methods from java.lang.Character
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package kotlin
|
||||
|
||||
public inline fun Char.isDefined(): Boolean = Character.isDefined(this)
|
||||
|
||||
public inline fun Char.isDigit(): Boolean = Character.isDigit(this)
|
||||
|
||||
public inline fun Char.isHighSurrogate(): Boolean = Character.isHighSurrogate(this)
|
||||
|
||||
public inline fun Char.isIdentifierIgnorable(): Boolean = Character.isIdentifierIgnorable(this)
|
||||
|
||||
public inline fun Char.isISOControl(): Boolean = Character.isISOControl(this)
|
||||
|
||||
public inline fun Char.isJavaIdentifierPart(): Boolean = Character.isJavaIdentifierPart(this)
|
||||
|
||||
public inline fun Char.isJavaIdentifierStart(): Boolean = Character.isJavaIdentifierStart(this)
|
||||
|
||||
public inline fun Char.isJavaLetter(): Boolean = Character.isJavaLetter(this)
|
||||
|
||||
public inline fun Char.isJavaLetterOrDigit(): Boolean = Character.isJavaLetterOrDigit(this)
|
||||
|
||||
/**
|
||||
* Returns true if the character is whitespace
|
||||
*
|
||||
* @includeFunctionBody ../../test/StringTest.kt count
|
||||
*/
|
||||
public inline fun Char.isWhitespace(): Boolean = Character.isWhitespace(this)
|
||||
|
||||
@@ -211,4 +211,19 @@ public inline fun CharSequence.subSequence(start : Int, end : Int) : CharSequenc
|
||||
|
||||
public inline fun CharSequence.get(start : Int, end : Int) : CharSequence? = subSequence(start, end)
|
||||
|
||||
public inline fun CharSequence.toString() : String? = (this as java.lang.CharSequence).toString()
|
||||
public inline fun CharSequence.toString() : String? = (this as java.lang.CharSequence).toString()
|
||||
|
||||
/**
|
||||
* Counts the number of characters which match the given predicate
|
||||
*
|
||||
* @includeFunctionBody ../../test/StringTest.kt count
|
||||
*/
|
||||
public inline fun String.count(predicate: (Char) -> Boolean): Int {
|
||||
var answer = 0
|
||||
for (c in this) {
|
||||
if (predicate(c)) {
|
||||
answer++
|
||||
}
|
||||
}
|
||||
return answer
|
||||
}
|
||||
Reference in New Issue
Block a user