Divida una cadena por un número fijo de caracteres

¿Hay una manera rápida de dividir una Cadena por un número fijo de caracteres en Kotlin?

Necesito dividir este 544A1609B62E , en minúscula, agregar : donde sea necesario y lograr esto: 54:4a:16:09:b6:2e .

¿Cuál sería la forma idiomática de hacerlo?

    En Kotlin 1.2 puedes hacer esto:

     "544A1609B62E".toLowerCase().chunked(2).joinToString(":") 

    La function chunked es nueva en Kotlin 1.2. Divide una colección en trozos del tamaño dado.

    Hacer esto en Kotlin 1.1 o inferior es un poco más engorroso. Puede ver las respuestas en la pregunta publicada por @NSimon aquí: Java: ¿Cómo dividir una cadena por una cantidad de caracteres?

    Otro bash en Kotlin,

     val sampleString = "544A1609B62E" var i = 0 var sampleBuffer = ""; while(i < sampleString.length - 2) { sampleBuffer = sampleBuffer.plus(sampleString.toLowerCase ().substring(i, i + 2)).plus(":") i += 2 } sampleBuffer = sampleBuffer.plus(sampleString.toLowerCase().substring(i)) Log.e(TAG, sampleBuffer)