https://kotlinlang.org logo
Title
u

uhe

02/15/2017, 12:59 PM
I ended up doing something similar
u

uli

02/16/2017, 6:14 PM
uhe: how about catching the negative lastIndex at the beginning?:
fun String.partitionAfterLast(character: Char, defaultFirst: String = "", defaultLast: String = ""): Pair<String, String> {
    if (isEmpty()) return Pair(defaultFirst, defaultLast)
    val lastIndexOfChar = lastIndexOf(character)
    if (lastIndexOfChar < 0) return Pair(this, defaultLast)
    val before =
                if (lastIndexOfChar == 0) defaultFirst
                else substring(0, lastIndexOfChar)
    val after =
                if (lastIndexOfChar == lastIndex) defaultLast
                else substring(lastIndexOfChar + 1, length)
    return Pair(before, after)
}
u

uhe

02/16/2017, 6:21 PM
good idea